Actually it's a fairly easy fix. Pay waiters a decent wage (so they aren't reliant on tips to pay the rent), plus an annual bonus for everybody who's worked the entire year (so they have an incentive to do their job right and not get fired), and combine this with actively discouraging/forbidding accepting tips and you're basically there. That's how most industries work.