I think tipping is a necessary "evil" as long as waiters and other service people rely on them as their "wage."  I think it could be improved or changed by just making them receive a fair wage and not put the onus of tipping on the customer/consumer.