Exactly, because a tip of 15% isn't a nice extra it's a part of the worker's expected wages.
American workers who can't receive tips in practice don't need to be paid the minimum wage, for example. (In theory there's a process to correct if theyre still below it after tips, but in practice that's regularly flouted).
I am genuinely perplexed by your position that failing to give a tip for mediocre service is amoral, yet failing to pay someone a living wage is just kind of expected.
Honestly, American restaurants shouldn't even bother putting prices on the menu. Between the tipping culture and the taxes it's impossible to guess at the true price of an item.
People behaving like you distort the market, stop rewarding bad service!
I usually tip generously but bad service deserve a 0.1$ tip. They choosed to work in the restauration industry and they should know that tip is given for good service, so they are suppose to know that if they want the full salary, they should provide some minimally adequate level of service.
If they don't like this they can work in another sector, if the USA is anything like Canada, big boxes shop like Wallmart and BestBuy are hiring in almost every locations. Those place are more apropriate for service worker that don't want to actualy serve the customer.
Tipping a fixed percentage, regardless of the service, is the closest I can get to opting out of this bizarre and unreasonable practice without being an asshole. I am happy to distort a market which should not exist.
Companies not paying their workers normal wages should be considered criminal. They're just trying to avoid having to pay additional taxes and social security, by paying workers lower salaries. Companies expecting workers to be paid by tips should be fined, and customers should not agree as they're complicit in tax evation if they do.