Your concern about git however is unrelated to shell choice. I customize bash quite a bit (my own completions, etc.) and maintain dotfiles in a git repository. I have a post-receive hook that tars up my dotfiles and puts them at a public location on my http server that only I know about so that I can easily get them when I'm on a machine without git. I'm not going to do that for every machine, but if I'm stuck debugging something on some odd machine, at the very last I want my vim settings around.
I am of the same practice as fusiongyro. I also expand on that and have a very simple configuration for Vim. Once you go beyond a handful of machines, you never know what to expect on the system. "Lowest common denominator" wins out for me almost everytime.