I have to say I know nothing about how the Iowa caucus is run but think that way to much importance is given to one state (sorry all you Iowans). Either have all state primaries on one day or split it into two or three days where the states are split equally and rotated every presidential election so that no one state becomes the end all be all for determining who the winners are.
Lots of people agree with that and some steps have been taken - first Super Tuesday, now SEC primaries.