What I favor is a system (closed), but would stipulate:
The states which voted most heavily in favor of our Republican Presidential candidate in the last election get to VOTE 1st, 2nd.. in the Presidential Primaries next go round.. The states which voted least % Republican in the General Election last time get to vote LAST next go round in Republican Primaries. (That way there is a reward for voting Republican), and we then know that heavily Democratic States will ~NOT~ be determining OUR Candidate (Hence probably a more conservative nominee~)!
Moreover, I suspect that the states would quite reasonably object to having different primary elections for the different parties. Far more cost-effective for them to stipulate a date and go with it.
That's a problem, of course, because that drives the states toward wanting earlier dates in order to "be relevant." TO fix that, both parties would have to agree on the "spread it out" strategy ... not impossible, as I suspect the Democrats are just as displeased with the current system as we are.
I think closing the primaries to non-party voters would have the desired effect.
I favor an open system, to enable the voice of the independent, that is not winner take all. Also, I think the states that failed to deliver in the prior election should lose a portion of their delegates. It is rediculous to allow solid democratic states like NY, Mass, and California to have such a large influence on the ultimate candidate.