Im going to list a few options for you just baised off your discription....all will work well though. No matter the option you will need to get all of the loose paint off the wall...clean it with a little mildew killer (not totally necessary but I would)...then use a nice latex primer to seal the walls before you apply the top coat.
Option #1) use an eggshell single state interior epoxy. This is a new water based....super strong....hybrid paint. I have seen it used a lot in locker rooms, kitchens, and bathrooms. It will got you a little more per gallon but definitely some awesome stuff.
Option #2) Use a high quality latex paint with mildew blocker. Manor Hall (Ppg)...Emerald (sherwin Williams)...Aura (Ben Moore)...all of these higher quality paint have more titanium dioxide for a stronger coat and mildew blocking additive.
I hope this information helps you out! It does cost a little more in the bathrooms to get a lasting finish but I promise you it's worth it. I've seen so many bathrooms with cheap quality eggshell that was used in the entire house, it offer no scrubbing exposure and will peel at the drop of a hat.