There are a lot of design modifications that can improve our voting systems. One example I am a big fan of is instant runoff. In this form, you don't just vote for your first choice, but also your second, and perhaps third and fourth depending on how many people are running. If no one gets 50% of the vote, the bottom candidate is eliminated and his/her supporters' second choices are used. This continues until someone has 50%. What this does it prevent anyone from winning with less than 50% of the vote. It prevents a minor candidate who gets a small minority of votes to swing the election from one major candidate to another (Nader, Perot, etc).
But today, I want to share the idea of double blind voting. In many countries, voting is mostly counted by hand and it is impossible to recruit people who are unbiased as to the result. So how do you prevent them from skewing the results? Well, what you do is have two rounds of counting, both of which are blind (hence "double blind"). Each district is designated by a number that the counter can not associate with the actual location. The order of the candidates is changed for each district and designated by a number so the counter doesn't know for any district which candidate is which number.
In the first round, the counter who types in the district has no way to cheat because he/she doesn't know if the person voted for candidate X or Y. Changing the district number could just as easily be switching his favored candidate for the other one.
In the second round, the same thing happens. The counter doesn't know what district the ballot comes from, so he doesn't know if his favored candidate is A or B. So switching the vote could again just as easily be going in the opposite direction of his bias.
This is a great example of using process design to deal with a vexing challenge with significant implications.