And that's really a separate question: should Apple (and other phone makers) include the price of a couple of battery replacements in the initial cost of the phone or not?
That's a fair question, but it's not fair to try to change the answer after you've purchased a phone.
Put another way, if you don't think an iPhone is worth what Apple is charging, then don't buy one.
The reality is that both software and battery show their age and need to be updated in order to keep the device in a good shape, within the specs people paid for when they bought the device.
Apple does a great job with the software part but it could also do something about the battery,without much impact on their bottom line, as someone else said,the battery costs them just about $5.
This practice has to be pioneered by someone and considering their pricing and margins, I think Apple is in the best position to start doing it.