This is probably a really dumb question, but how come the first primary (I favor replacing caucus--cauci?--with primaries) isn't in, say, Ohio? Ohio is a diverse state with cities, suburbs, and rural areas. Is Iowa? Is New Hampshire?
Every state should have a primary as you're suggesting. Besides that, I would suggest the parties to schedule the calendar after which states on average have been the closest to the popular vote over the last 5 presidential elections. Iowa and New Hampshire would still come pretty early, yet be grouped together with other states like Florida, Colorado, Ohio, Pennsylvania, Nevada and so on. The cool thing about such a rule is that the sequence of states would change, at least a little bit, every 4 years. States like Vermont, Hawaii, Wyoming, Idaho, Utah and West Virginia would come towards the end of the primary season. So would big states like New York, California and Alabama.