There is zero reason to do a contract at all. Any way you look at it, if you are doing a contract you will pay more.
If you need the plan that gets you the upgrades, then there is really no problem. If you dont need the plans that get you up to the status don't get a contract at all.
Just look at the numbers. If you dont need more then 1500 mins, you save 480 bucks a year, on the cheaper plan. 480 bucks is usually more then the discount for 2 phone, with new contract.
If you dont need more then 450 minutes, I dont use that many minutes, if you don't do the contract, you still have 240 dollars which is the same for a upgrade.
Bottom line, get what you need and if it does not line with with a new phone every year, it is because the difference in price of the contract is the same for a phone.
The second reason you should never do a contract is sprint needs to be taught a lesson. Contract customers are the best customer. If you are bound to them, they can rest assured you will have a high chance of staying with them. Once you move to off contract, sprint actually takes a hit with investors, because you can leave for the slightest reason.
Dont worry about upgrades. Get the phone you want with the plan that matches. Take the differences in the price between what you would have paid and what you are paying, place it in a saving accounts. When there is a phone you want badly enough to go for, go. Sprint does not care to keep you as a customer, you should not worry about them.