And get rid of so-called provisional ballots. We have this law enforcement code which states that ignorance of the law is no excuse. Being too lazy to register, developing an inability to figure out how to read the slip of paper telling you where your voting district is or being too dumb to call and ASK should be no excuse for screwing up the works by voting in the wrong disrrict, unregistered, etc.
Provisional ballots are necessary to ensure that voters have a an effective remedy if someone jinxes their registration. Otherwise, if an election worker were to somehow 'misplace' the registration forms for people who were registered Republicans, such people would have no recourse.
That having been said, provisional ballots should only be counted if it can be demonstrated that the voter did everything necessary and proper for voting. A voter should only be able to submit a provision ballot at a precinct other than the correct one if the voter can demonstrate that he was instructed to show up at the "wrong" one (e.g. he received a registration card with incorrect directions). Even in that case, no provisional ballot should be counted in a "wrong" precinct; all provisional ballots should be forwarded to the precincts where they belong.
If reasonable steps were taken to ensure that provisional ballots are handled properly (e.g. using different ballot forms incompatible with "normal" ones), I would see no reason they'd have to pose any particular fraud risk. The problems with provisionals occur in places where they're accepted without good cause (e.g. voter is too lazy to go to the precinct on his registration card), and where there are inadequate checks to prevent them from being merged with the normal ballot stream. If those issues are fixed, I provisions should still form an important part of the election process.