When millions plurality vote, they can't easily organize, and often split votes, electing the worst candidate instead of the compromise candidate. Majority voting does not give enough votes. Solution: Let all voters vote for their favorite. If there is a majority, that one automatically wins. If there is no majority, each candidate gets whatever votes they won, and may cast them for the winner, who wins by plurality. The candidates first discuss their order of preferences to know who the centrist is. They then must cast their votes in order of biggest to smallest. The big ones can vote for the centrist, or force a decision between extremes. Smaller extremists who know they will lose will of course vote for the centrist, not themselves.
Best of all, the candidates know each other better than the voters do, and know who the real centrist is. Many candidates can run without splitting each other's votes. Those with the best ideas to make everyone happy will rise to the top.