That was a pretty big issue for us as well. We've gone through some acquisitions and we left with a bundle of different accounts.
Wound up taking a day and writing a ruby script that checked out an STS token, and exec'ed a new bash shell with the correct environment variables. the $PS1 has the account name in there so it's not too hard to know what shell points where. Also helpful that we set up a "control account" that handles consolidated billing and user login.
We've had some pretty good success so far, however I can definitely see how that feature would be good baked-in somehow.