I agree that the current system could use an overhaul. Which direction to overhaul the system depends on your view of the role of parties in the process. The party role was greatly reduced by the long stretch of primaries that builds momentum toward a winner.
Personnaly, I think the parties and their members should play a role since the candidate will go forward carrying that party's name. A single national day for states to choose delegates, either by primary or caucus, would be an interesting alternative. It would certainly judge support for national candidates, but in races with a large field of significant contenders the convention would again play a real part in selection. The leading candidate (without a majority) might have little chance to improve their vote totals enough to win the general election. The convention would be a mechanism to work that out.
Designate 8 candidates.
Divide the 436 CDs (treating DC as a CD) into 28 groups of 15 or 16.
4 groups vote on each of the 7 primary dates: Fb 21, Mr 13, Ap 3, Ap 24, Ma 15, Je 5, Je 26 (3 weeks apart).
Each group will choose between one pair of the 8 candidates. Any pair of candidates will be matched up in one group on one of the primary dates. Candidates are determined by most group wins (highest percentage of CDs as tie breaker). Top 2 contest national primary on July 24.
So a candidate only has to campaign in about 15-16 CDs in a 3 week period, and the voters only have to choose between 2 candidates.