At restaurants, I generally tip 20% is the service is satisfactory, less if below satisfactory. I'm pretty easy-going, so I'm easily pleased most of the time.
The more a waiter acts like my presence is a burden, the lower I go. I have — only a couple of times, though — left just a penny in order to send a clear message that their service absolutely sucked. I feel that if you leave nothing in a situation like that, the restaurant and waiter may think you just forgot to leave a tip at all. I also believe that stiffing someone because your food is bad generally only hurts the wait staff. If anything, the management shouldn't charge you for it, which is how a customer should be compensated for eating lousy food. After all, the wait staff didn't cook it, and the cooks usually don't get a piece of the tip anyway. In such a situation, I would generally just tell my waiter that the food wasn't very good and that something needs to be done if I'm going to come back again.
Personally, I believe we should go back to 10% on the post-tax total... If 10% is good enough for God, then 10% should be good enough for a waiter or waitress. :-)
Interesting theory, but to me, 15% to 20% is more than reasonable. My wife was a waitress throughout college, and I had the opportunity to see how hard she worked. She definitely earned a 20% tip (or more), even when she didn't get it. Plus, since God doesn't have to buy groceries or pay rent and utilities, he'd probably get by just fine on 10% from all churchgoers, and would probably appreciate it! But that's if all people actually tithed, and that's another subject altogether.
I will say that 10% may be okay if the minimum wage for waitresses wasn't so low. Also, tipping solely based on the price of a meal is an imperfect method anyway, but it's really the only option. I've seen waitresses at the Waffle House work much harder than many who work for slower-paced and far pricier eating establishments!