The system the Australians use works, I think, perfectly well. Simply, the law requires you to show up at the polls and cast a ballot. You can spoil the ballot, if you like. You can write anything on it you like, but you must attend and take a ballot. For those who don't attend and don't have an excuse, there's a modest fine.
The first time, there would probably be a number of people who didn't, but after a while people would start to obey the law in the way they stop at red lights and pay their taxes, and do all the other things they're required to do. It would probably be a bit sloppy the first time, but like any change—and we have talked about other kinds of changes—the public and the players would adapt, and the campaigns would run probably very differently. We'd end this mass-voter mobilization stuff, because the voters would get themselves to the polls themselves; you wouldn't spend money on that. Parties would be engaged in other kinds of activities.