I suspect above might be unpopular idea. Especially since obvious downside is that if poorly implemented (or exploited) it could allow establishing who voted what and in any case allow establishing who did and didn't vote. And no, I don't think voter fraud is widespread, or has had any impact of consequence to overall results. But in this age and day, I think we should have a system where a registered voter is first identified by the system before presenting them with the ballot. This way, assuming systems were interlinked, one could vote anywhere in the country, and be given the right ballot for where you live.
And then the obvious next step would be allowing voting via browser. One vote for one registered ID. If system thinks your ID has already voted, have an escalation mechanism to re-cast the vote and investigate.