Todd's secret for "no more tears" in the bath:
My daughter used to really hate getting her long hair washed and now she thinks it's somewhat fun. We used to use "tearless" shampoo but even that would sting her eyes if even a little bit of suds water got near them.
What my wife and I came up with: we put a dry towel over our daughter's face and then dump a large plastic bowl full of shampoo and water on her head. We then rinse with fresh water in the same bowl until all of the suds are gone. No more fighting and it only takes a couple of minutes. Our daughter just turned 4 and for her it's fun to feel a surprise of warm water hitting her head and body but not her face.
We do something similar (thanks to my mother in-law) — my daughter holds a dry washcloth over her own eyes while we rinse her hair. Having a hand shower helps, too.