Issue a Federal ID to US citizens ONLY. Require this ID to vote, a simple (private) website can be used to check a central DB and flag the voter so he/she can only vote once!
Using the new Federal ID, you would not need to register to vote and you could vote anywhere. The actual vote should be a paper ballot and HAS to match the Federal ID records for each voting location. It's so simple that I (or any codefag here) could write the code in a couple of weeks!