Always upgrade whenever possible.
Since your bill doesn't go down when your contract is up, by not taking the upgrade ASAP, you're giving the phone company more of your money for no reason.
Sell your 4, buy the 4S, just before the 5 is officially announced, sell it. Use the leftover money from your 4 and all the money from the 4S to buy a new 5 off contract.
If the phone was still set on a June release, it'd be a different story, but 5 months is a long time and, since you're obviously interested in upgrading since you started this thread, you may as well make the leap.