Make sure you distinguish between political parties and the governments of the states in which they operate. It is state legilsatures that, operating under thir respective state election codes, that set primary dates.
In Florida, its legislature changed to an early primary date as part of a comprehensive election code bill. The parties had no choice. The loss of National Convention delegates is an admonishment that the national parties apply to the state parties as a means of applying political pressure to the states legislatures.
The state of Florida, knowing the consequence, deliberately flouted the rules of the DNC. There was no reason to hold the primary earlier, except to garner more publicity and perhaps more clout for the state.
The election schedule has been in place for a long time. In general it has worked. Florida and Michigan are under obligation to follow the terms dictated by the DNC [ reference link ].
The State of Florida gambled and lost.
Their citizens should go after their gov't, not whine about the DNC.
So the solution? Do it again, only with both candidates on the ballot and campaigning? I don't particularly want my tax money to go to fix up their screw up. And I don't want it draining the Dems' war chest before the election, so screw it. Florida, Michigan, and Hillary Clinton all messed up and they can suffer the consequences.
"Patriotism is supporting your country all the time and your government when it deserves it"