It isn't mandatory to roll your entire position on one fixed day. If you wanted to, you could roll 20% on day X, another 20% on day (X+1), another 20% on day (X+2), 20% more on day (X+3), and a final 20% on day (X+4). This smooths out some of the random fluctuations in the price for the spread.
Another play you could try, is to use limit orders to roll over. Execute my spread at a net difference of D, or better. Work it for a while, perhaps 2, 3, or 4 days. This reduces rollover slippage dramatically. If still not filled, and you're getting itchy, switch to a market order.
A fairly common play is to rollover slightly before the Goldman Sachs Commodity Index's published rollover schedule. Since there's a LOT of money in index funds whose job is to exactly match the GSCI, there are a LOT of rollover spreads traded on the exact GSCI schedule. Why not get a bit ahead of that freight train?