In Australia, often times you pay first. I understand that some people find this offensive, as the implication they feel is being made is that they'll walk out without paying. But it makes way more sense to do it this way, and an intelligent person can deduce why a company might want to structure the process this way. It's nothing personal, and it's not a sign of a cheaper restaurant.
You walk in, sit down with a menu, then order and pay at the counter and sit back down. Not terribly difficult, and it solves all the problems in the article.
The only time I'm waiting is when in line to order (if there is a line), and when waiting for food. At no point is the status of my time there in question either. Are they finished? Are they waiting? Have they paid? Where's their bill? All questions never needing an answer, as if you have food, you've payed for it. If you're done, you can leave.
You also don't have to hand your card to somebody you've never met and hope for the best.
Smoother, safer, more concise and more efficient.