That tab completion is being performed by your current shell, which might not even have read access to other users' home directories. Without that, there's no way it could do tab completion for file names there. Even
with read access, it's asking a lot to expect the shell to know ahead of time what the CWD will be when that command runs and expand the names of files that are there. It's like typing
Code:
cd /var/log; tail messag[TAB]
and expecting that to expand to "messages". Sorry, but the shell is working in the here and now, not in some future environment.
That said, you can do a lot of tricky things in /etc/bash_completion.d, but setting that up to do anything like what you are asking is a bit beyond my pay grade.