That isn't how no-tip restaurants work. They usually increase their prices. This sounds like they are just forcing you to pay a tip.
Restaurants should just pay a fair wage. But, a fair wage means less profits for themselves... which means they are being greedy.
A McDonalds meal is no different in price than a burger place that isn't fast food. McDonalds identified that the market is willing to pay ~$15 for lunch, so they've jacked up their prices. For $15 I can get a legitimately fresh burger, with fries and a drink. In fact, I can get the same thing for a much lower price - about $10.
But, since McDonalds (and other fast food restaurants) are more common in dense areas, they will increase their prices to match the market's willingness to pay and they know they have a 'captive audience' (food is out ASAP).
A McDonalds means does NOT cost anywhere near $15. It's probably tens of cents... $1 at best. Then, maybe $1 to $2 goes to the salaries (of JUST the line workers).
The cost of smaller restaurants is certainly higher in making their meals, but they follow the same practice; keep as much of the profits as possible intact - living conditions of their workers be damned.