On Debian/with apt-get. Not on e.g. Arch. 

On my env $VIRTUALENVWRAPPER_SCRIPT is defined, and points to the right thing; can you check if that's the case in Ubuntu too?  Or, maybe instead of doing a case switch, just try "which venv...", test against empty, and then try batch completion (also with a test), then fail.