In some way most Americans CAN NOT vote until the final round. As an independent I am not sure I am allowed to vote in the primaries. We need open primaries.
The biggest problem with primaries is that every state has different rules for them. Some are open, some are restricted to members of that party, some let you vote in either primary but not both, etc. It's awful. And, as another AC responding to you has pointed out, primaries are artifacts of the political parties. Why should they allow anyone not in the party to vote? I'll take it a step further... Why should the state use public funds to support what is an internal party decision?
Another problem with primaries is that you end up with spoiler votes. Primaries might be good if everyone voted for the candidate they thought was best, and the winners moved on to the next round. That's not how they work, though. Open primaries are begging for people to game the system. You'll be happy if any of your party's candidates win, so you don't vote in your party's primary. You vote in the other party's primary and pick the biggest schmuck! That makes it easier for your party to win the general election.
So, my proposal... First, get rid of the notion of a candidate belonging to a party. They don't. The parties may *endorse* a candidate if they want. They may give money to a candidate's campaign. But they don't have exclusive rights to calling the candidate "theirs". This puts political parties in more of an advisory role, similar to the League of Women Voters (though they don't actually endorse any individual). And hey, if there's a centrist candidate that both parties like, both parties can endorse the same person. What a concept! This guy could be endorsed by the Democratic Party and the Teamsters Union and the Green Party and the League of Extraordinary Gentlemen. That guy could be endorsed by the Republican Party and the Teacher's Union and the Libertarian Party and the Society for Creative Anachronism. The parties hold no more sway over the candidates than any of the other groups.
Next, get rid of the primaries. Each party chooses which candidates to endorse however they see fit. If they want to have the party brass meet in a secret smoke filled room, that's fine by me. If they want to have a primary election by their own party members, that's fine too. But since it's purely a *party* decision *the party* can foot the bill for the election. No need to spend tax money printing ballots, setting up polling places, etc.
Lastly, take the little (R) and (D) designators off the names of all the candidates and politicians on CSPAN and the news channels. You have a Senator, not a (R) Senator or a (D) Senator. Just *a* Senator who's not beholden to the party machinery.
Marginalize the parties. At best they're just labels for the lazy, at worst they're obstructionist ideologues. Emphasize the actual candidates. Elect people who best represent your own views, not who best contort themselves to fit the preconceived (D) or (R) molds. It's a big country and we don't all fall into two strongly stereotyped camps.