People should be paid for the job they do - by the employer. We can argue till the cows come home about wait staff and what they make, but most of us know that wait staff do pretty well for the most part in tips else they wouldn't stay - they'd pack up and find another service job. My niece suspended her college education for a year in order to pay down her school debt - she's making more in a day in tips/wages than people I know working in an office at the reception desk all day.
I'm not embarrassed by the amount of tip a person chooses to leave, I'm not offended by the size of the tip and I believe a tip should be left on the amount prior to taxes being added in.
I would much rather the price be set on the menu, the employee paid according to the laws or the employer and life goes on. In that way, you go out for a meal, just like you go to the theater - you pay one time for your goods or service, enjoy it and then go home. I think it's gotten to the point that people get tipped out - hairdresser, cab driver, cleaners, wait staff, counter staff, pizza delivery guy, paper kid - add that to the constant barrage of requests for donations passing through any Walmart or check out at the shops - the guys standing outside all the shops looking for donations - the ads on television asking for donations - tip jars on counters where all the person does is pour a coffee in a paper cup - it's never ending.