The problem is also in the cultural practices. USA is unique in its tipping culture. When I lived in Tokyo and Singapore, there is no tipping culture and one is not expected. The service charge is included in the final bill. Europe is somewhat the same with people leaving some change behind when using cash. Then there is the discrepancy in %. If I were to apply the 20% benchmark to a meal in a fine-dining restaurant, the tip would be more than wait staff's monthly income. I like to show my appreciation with a tip that rewards their service.
In the US, the way I look at it is that the tip I am giving will not break my bank, but it will be a significant boost to the other person's earnings and I am happy to do that.