Had the Republicans nominated John Kasich instead of Donald Trump, he would almost surely be crushing Hillary Clinton now. Had the Democrats nominated Bernie Sanders instead of Hillary Clinton, he would be crushing Donald Trump. So much for the will of the people. The American nominating process is disturbingly random.
A lot depends, for example, on which states hold the earliest primaries. What plays in Iowa or New Hampshire might not play at all well in New York or Texas, but if you do not pull well in Iowa or New Hampshire, you will never find out. That's why Rudi Giuliani did not become president.
Rather than whole states, it might be better to hold small early primaries in county-sized demographics around the country, selected as representative the way pollsters might select their samples. Something urban. Something rural, something Southern, something from the Northeast, and so on. And a different selection each cycle. Would this make starting a campaign cost more? Not if we used only a few such jurisdictions. If they end up being far apart, so are Iowa and New Hampshire.
Odds now are that Hillary Clinton will hold on and get the presidency. The RCP average shows her up a thin 1.8 percent. As she has just been cleared again by the FBI, this is unlikely to go down over the next few days.
This is probably the best result for the Republican Party. If Trump wins, the Republicans will be more or less saddled with him, an unsatisfactory candidate, in 2020. A lot of better candidates will be blocked. His administration is not likely to be a grand success, as he has few friends in congress. The Democrats are unlikely to put out again a candidate as unappealing as Clinton. If, on the other hand, Trump loses, it clears the way for a better candidate in four years, to run against a scandal-plagued Hillary Clinton or against Tim Kaine, never elected and saddled with the Clinton scandals.