A variant on this is to pull 3 ballots out and take the majority (if none, keep pulling until there is a plurality then stop).
This would make the extreme outlier results less likely, but still maintain most of the properties you said. For example, if there are 40% violets and 60% blues, then chance of a violet winner becomes only 35.2%. If there are 10% violets, their chance of winning is only 2.8%.
Depending on how risky you want to be, you can replace 3 with 5, 11, 31, or 101. For example with 11 ballots, 40% violet in the population, their chance of winning is 24.6%; with 10% violets, their winning chance is only 0.03%.
This would make the extreme outlier results less likely, but still maintain most of the properties you said. For example, if there are 40% violets and 60% blues, then chance of a violet winner becomes only 35.2%. If there are 10% violets, their chance of winning is only 2.8%.
Depending on how risky you want to be, you can replace 3 with 5, 11, 31, or 101. For example with 11 ballots, 40% violet in the population, their chance of winning is 24.6%; with 10% violets, their winning chance is only 0.03%.