http://bash-completion.alioth.debian.org maintains a ruleset for tab completion of gpg (and a separate one for gpg2, which is only subtly different).
I think that GnuPG should take control of these completion functions and ship them in the upstream tarball.
This way, if new features are added, gpg has a good way to make sure that the tab-completion for bash users is updated accordingly.
bash-completion upstream has some guidance for how maintainers can do this cleanly.