The one ball rule as imposed by WGT enables the player to be able to finish the round. That is better than simply disqualifying the player and forcing him/her to lose all credits, time and effort invested in the game at hand as would normally happen in real life. The price you pay for being able to finish the round is being forced to play with those "rocks".
I would imagine that the rule honestly does not increase ball sales all that much. Players who have decided on a certain ball to play are going to buy it anyway. They are even given the opportunity to buy more during the round without penalty.
Players testing different balls should be doing so in practice mode or even things like free unlimited play tourneys where no credits are at risk. Then it makes no difference whether you choose to leave the round or not.
It is the responsibility of the player to make sure his/her bag is stocked with a sufficient number of the same type of ball before teeing off in the first place. Use up the odds and ends balls in practice rounds and CTTH competitions without entry fees