I use zsh. It's great, but I don't use it for anything that bash can't provide. Fish is not POSIX-compliant (not that I care, and probably neither you), and excellent out of the box, you should try it