The current voting system is a balancing act between multiple interests, with multiple layers of buffering against different potential problems.
The best way to fix American politics is to help 3rd parties to be elected in, and a good way to do that is to eliminate the 'winner take all' system where the winner of a popular vote or greatest portion of districts wins all the electoral votes of that state. Instead, electoral votes would be cast in proportion to a state's popular vote or how many districts voted for a given candidate.
Any system involving districts voting against one another is going to be corrupt, and thus shouldn't be considered, unless gerrymandering is prevented in that region and districting is apolitical.
Having electors in each state means that voting fraud in that state is limited in effect to how that state's electors vote. If a state with 5 million voters has 50 million votes cast for a nationwide popular vote, that gives the fraud a disproportionate effect compared to if it were limited to that state's few electors. Modern paper ballot protocols have made that scale of fraud hypothetical in America; assuming insecure e-voting gets tamped down on, that's arguably not a significant risk. A bigger problem is what to do about the 'evil populist', given that evil/corrupt/incompetent/malicious can be difficult to determine, even for an elector/scholar/expert. If the populace votes in a politician who promises to do things in the plebeians' favor but at the expense of the social class the electors belong to, the electors will have a conflict of interest. Given these problems, electors can't effectively perform this function of filtering out 'bad' politicians. Therefore, I believe electors should be replaced with automatic votes, proportionally.