Though carriers do not openly announce this, the big 3 (Sprint, AT&T, and Verizon) will often allow you to upgrade a couple months earlier AS LONG AS you're staying w/ their service. I've personally seen them allow customers to upgrade 3 and 4 months sooner than their actual upgrade date, and often it's done with little to no extra charge (Aside from new device activation).
Sprint finally posted their early termination rates, but last time I checked Verizon and AT&T did not. I mention these rates because you actually are terminating your contract earlier in order to "sign" a new contract.
All that being said, as long as you're within about 3 months of upgrading, just contact your carrier and explain your interest. I worked in a Certified Seller store and literally all the customer would do was call, say they want to upgrade early, the customer service rep makes a few key strokes, and I was able to upgrade their device a tab bit earlier.
Just make sure your account is in good standings before doing so obviously.