Short version: trying to do an large election that has secret ballots, complicatons (long ballots, local rules), fast results, and are held infrequently so that procedures aren't polished by repetition is just plain difficult.
I've wondered whether it could work to have the fact that one voted be publically verifible would help. This doesn't damage the secrecy of the ballot, and it at least limits some mistakes and fraud. I swear, some people put less effort into election fraud than I put into forging signatures when I was in school. (Oddly enough, I grew up to be a calligrapher rather than a forger.)