Approval voting is a system where a voter may vote for as many candidates as he or she wishes.
As an example, suppose a voter likes a particular third party candidate, as well as a mainstream candidate. Should the voter "throw their vote away" on the candidate who isn't likely to win, or vote for the mainstream candidate? With approval voting, they could simply vote for both candidates.
The candidate with the most votes wins, as usual.
States could allocate their electoral votes to the winner, similar to the way we do things now, or with a constitutional amendment or the agreement of enough states, we could do a direct popular vote using the approval voting system.
I prefer approval voting to IRV and Condorcet voting because it's much easier to explain how a winner is determined, but any of those would be a vast improvement over the current system. Ranged voting is another reasonable alternative.