I'll play devil's advocate and say that direct system would be worse over the long haul. It is would be more prone to whim and temporary popularity.
A direct system would make more Trumps.
(We're talking party nomination, right, not general election?)
Direct, rank-order voting would sure fix a lot of problems for primaries. But Parties have a right to decide how they want to choose their candidates. The general election pretty much requires each party to choose nominees to run against each other in a first-past-the-post manner. The nominees have to get chosen somehow, right? All the states voting for candidates by popular vote is a fairly recent thing.
But, if we changed the way we do general election, such that parties don't really have to choose nominees--they could run as many as they can get "qualified".
The way it would work is we start election season 6 months, maybe a year at most from election day. All the candidates who want to run would have to pass some kind of qualification. We would want it to be stringent enough so that we don't have too many candidates. At a minimum they'd have to be on the ballot in all 50 states to be considered. Having a minimum education level achieved probably wouldn't be a bad criterion given the complexity of government. Possibly some military experience.
Candidates would campaign during the season, and then on election day you rank all the candidates that qualify, regardless of party. It achieves a few things. You don't have to tell each political party how it must choose it's nominee, because that process is no longer needed. In fact, it effectively eliminates the two party system because people no longer have to vote strategically. There's less incentive to vote for the party and more incentive to vote for individuals regardless of their party. It is more representative of what people want because it considers how each candidate fares against each other candidate.
And your worries that a direct system would make more Trumps, probably not. If we had that system now probably Trump would be middle of the pack. He'd get a lot of #1 votes--still no where near a majority though--but because of his negatives, he would also get a lot more last place votes.
Of course INGO has a Cruz bias, but the polling I did was a good example how that works. Trump had a lot of #1 votes. He had even more bottom-third votes. And he had very few 2nd and 3rd place votes.
That kind of thing would change how candidates campaign. They would no longer need to pander to a base for primaries and then shift to the center for the general election. They can all be who they are from the start. The only advantage being a large party would bring is backing and being able to field more candidates.