I agree that "tips" should be simply included in the fare, and charged to the guests up front, and the service crew paid a good salary. It would be fair to the guests, as they'd know what they are paying. It would be fiar to the service crew, as they would know what their compensation is, and would be protected from "stiffs".
The lines I usually cruise have "tips included", and they really are! And the service is the best in the world.