I usually use ksh. I believe this is a good compromise between features and portability. It is (or a compatible version is available) on most Linux boxes and Solaris. After a while I used HP-UX (fortunately), but I'm sure it was available there.
If all the machines you need for support are up-to-date, bash might be an option. Solaris 10 comes with a copy. This is the default value for most Linux machines.
Your lowest common denominator will be Bourne (sh), so you should consider how important portability is. It skips some of the more friendly functions of ksh and bash, though.
Still worth a look at csh / tcsh for scripting. Csh programming is considered malicious - it's old, but pretty much up to date.
source share