Microsoft supported legacy devices for years with each version of their new OS. Didn't work out so well for them.
Unreasonable to expect that hardware will continue to be able to support each new OS when the latest version has been geared to take advantage of advancements in technology. People need to take responsibility for their actions. Apple does't force update the OS. It's a user's choice.
Any user who blindly enters into an update with no idea of the potential impact is asking to be disappointed. I knew my iPad 3 might not perform as well with iOS8. I didn't care. More reason for me to get an iPad Air 2. For what I need to do on the device, it is sufficient. If zippiness was of prime importance to me, being a responsible consumer, I should stay with iOS 7.1.2.
Peoples' lack of personal responsibility is why we have warning labels. Many warnings, no matter how inane, are because some one did THAT thing that most people know you should not do, and then sued the company. No one told you to give the baby a plastic bag as a toy. Anyone in their right mind knows it's not a toy...except that one person. And now we waste ink printing "Not to be used as a toy" on plastic bags because of a personal responsibility deficit on this planet.
Could Apple be clearer about what the performance impact of an upgrade will be on an older device? Sure. Though, if it meets their benchmarks for performance, and they don't allow upgrades on devices that don't meet those benchmarks, what else do you really think is reasonable.
If you think this doesn't happen with the FAR less controlled OS environment of anything outside iOS/OS X, you're kidding yourself.