For bash, this is enough:
# Bash TAB-completition enhancements
# Case-insensitive
bind "set completion-ignore-case on"
# Treat - and _ as equivalent in tab-compl
bind "set completion-map-case on"
# Expand options on the _first_ TAB press.
bind "set show-all-if-ambiguous on"
If you also add e.g.CDPATH=~/Documents, it will also always autocomplete from your Documents no matter which directory you're on.