What an abusive system. For all of T-Mobile's faults, I'm glad I switched to their no contract plan years ago.
I've been using the same PC for five years with no problems, so I bought my phone at full price from HTC thinking I'd use it for a similar lifetime, but it's really a PITA to use now.
That being said, I would not buy a Google hardware product since they will not fix software bugs that affects their two year old hardware even if that bug is that phone calls don't work. I can see that from other manufacturers, but since Google owns Android, that's inexcusable. The hardware itself is tough as nails though.
My boss has been using the same Android phone for a few years now, so I know a similar pattern exists in the Android market.
The point is that you can choose when to upgrade, rather than being more or less forced to upgrade every two years. This is especially helpful to those with tight budgets, which I think composes the majority of people.
Switched backed to an iPhone 6 when it came out and haven't looked back. It's been great and the past 8 months nothing had shown down and my battery still lasts a full day of browsing and Spotify.
If you're inclined to do it yourself then I recommend trying to replace the battery. You can get a high quality one from ifixit for around $20-25 and it does make a nice difference.
Though Apple has made their new software versions for their new hardware I think overall performance since early iOS 6 releases has been consistent on iPhone 5+ with the various exceptions for bugs. The problem I see is with devs for large deployments (Google, MLB, Yahoo, etc.) ONLY take into consideration the new hardware. My MLB.tv subscription which includes At Bat app has become such a drain on my battery since the start of the 2015 season. Even streaming radio broadcasts will use 50% of my battery after 5 or 6 innings with the screen locked as in NOT DISPLAYING ANYTHING! 2 years ago a Red Sox/Yankees game (4+ hours) would use maybe 20%.
Weekdays, I get a couple hundred emails plus 10-30 calendar notifications per day from personal and work Google managed domains. Easily that takes up 20-30% over an 8 hour workday with all the fetch. Previous employer with Exchange and push using Active Sync was maybe 10% usage per 8 hours. Weekends of course I rarely see the drain at all in regards to mail.
Point is, I know I'm at EOL with iPhone 5 but I at this point can't really blame Apple as stock (and on weekends unless streaming a ball game) battery life is as consistent as the day the phone was purchased.