So if the electoral system is the problem, then what is the best approach
The best system for ensuring that the politicians in power reflect voter intentions is proportional representation, where if a party wins e.g. 28% of the vote, then they get 28% of the seats.
Remember that 2 party system in US starts when the previous electoral system is seen to be biased to few peoples the administration trust.
As for the question of the optimum number of parties, I don't know. It's not two, though, as I outlined in a previous post. Arguably, if you switch from FPTP to a PR system, then the number of parties becomes less relevant... because under PR your vote for a minority party that wins say 5% of the vote will still be effective, and still give your party 5% of the seats.
The problem with the US system, beyond it being two party, is that the scale at which first-past-the-post works is so huge... it's by state. You could have 49% of people in a state voting Republican, and get the result that Democrats win so the representation for the
whole state is entirely Democrat. This means that if your state for example always returns a Republican with say 70%+ of the vote, then you and potentially millions of others are effectively disenfranchised - unless there's a state-wide swing of huge proportions.
---
Edit: Typo. I don't think "Democracts" is a word.