I hesitate to say this, because tipping is so ingrained in western culture, but I truly wish, as a society, we could move away from the practice of tipping.
It tends to happen in situations where the company wants to offer "the lowest price possible," thus, can only pay employees minimum wage and in some situation less. This results in the employee relying on tips to survive. The restaurant and wait-service industry is a perfect example of this structure.
Obviously, you cannot paint every scenario with one brush, but I believe there is too many variables when tipping is involved. Peoples moods, financial status, personality clashes, life events all can play a role is how well someone is tipped. Should the responsibility of "offering your employee the ability to make decent living" not be that of the employer? Why is it accepted that some industries allow tipping, but others do not?
I personally believe the cost of business, which should fully include the cost to pay your employees a fair wage, should be fully reflected in the price to the consumer. Don't hide cost's to the consumer behind the idea of tipping.