It really strikes me as bizarre to argue that tipping is an appropriate component of compensation/wage structure in only very select and specific jobs (such as waiting table). Surely, any customer-oriented occupation (such as, say, management consulting) should then also be largely reliant on tips? It would make for an interesting experiment — but one that would ultimately fail.
This is why in the vast majority of industries, employers pay the wage, not the customer. Employers determine the value of their product/service, take into account market demand and feedback (with sales of their product/service being the proxy) and determine wages accordingly in order to attract the people they want to hire.
There are many other ways, beyond a system of tipping, to ‘recognize a service well performed’ or to ‘reward or punish’. The way this happens in almost every other industry is through your decision to do business with this service provider again (and, increasingly in today’s world, through your online review of their service).
There’s no reason why restaurants alone should be so different.