Political parties should hold their own primary elections and schedule it for whenever they want -- and the party should pay for it themselves. There's no reason why non-members of a party should pay for the party's primary election.
If you did that everyone would registered independent.
Why? People would still want to be a member of the party that represented their ideological views.
And there would be money for the primaries -- primaries would be paid for by donations made by members of the party. Also, a party could conceivably hold it's primary elections on the internet or by mail, which could be done at very little cost.
The state doesn't need to be involved to ensure a fair and accurate primary election. The party can take it upon themselves to make sure it's fair. If not, members will defect and the party would fold. It's in the best interest of the party to ensure it's primary elections are fair and accurate. Case in point: the state does not get involved in corporate elections where the shareholders vote to elect members of the board of directors. Political parties could operate very similiarly.
As a side note, here in AZ registered independents can vote in the primaries for statewide offices, but not in the presidential primaries.