IMHO, Apple's only mistake was not being more open about what they were doing earlier, and not giving iPhone owners the choice to disable this feature. They announced they will do so in the next iOS version, and they're sharply discounting battery replacements. These actions seem like a very satisfactory response.
If Apple were intentionally diminishing older iPhone's performance to incentivize upgrades, 2-year-old iPhones would be hard to sell. In fact, though, there's a thriving market for older iPhones. I've had no trouble selling my older iPhones on eBay and have always gotten a very good price. My wife doesn't upgrade as often as me; she finally just got an iPhone 7 after using her iPhone 5 since January 2013. Her iPhone 5 always worked great, even when it was 4 years old and even without a battery replacement.
I know there are people with older iPhones that have legitimate issues. But there are many millions of older iPhones still in service. If just 1% of them were having legitimate issues and making noise, that would be a lot of noise.
If Apple were intentionally diminishing older iPhone's performance to incentivize upgrades, 2-year-old iPhones would be hard to sell. In fact, though, there's a thriving market for older iPhones. I've had no trouble selling my older iPhones on eBay and have always gotten a very good price. My wife doesn't upgrade as often as me; she finally just got an iPhone 7 after using her iPhone 5 since January 2013. Her iPhone 5 always worked great, even when it was 4 years old and even without a battery replacement.
I know there are people with older iPhones that have legitimate issues. But there are many millions of older iPhones still in service. If just 1% of them were having legitimate issues and making noise, that would be a lot of noise.