If I were making the rules, I would use primaries to ELIMINATE candidates. Every state would have a primary on February 1. Only the top four candidates nation-wide would remain for a second nation-wide primary election on March 1. Three would remain on the ballot for an election on April 1 and the selection of a candidate from the top two would take place on May 1.
That might work out. I'd take away the special privileges for the parties entirely. If they want to pick a single candidate to run in that first primary, fine, it's a free country. But others would be free to run in it as well. If that means that after the first primary, or the second, all the candidates are from the same party, that's OK too.