Well if someone willingly buys from a vendor that will never upgrade their OS who is at fault here.
I went with a Samsung when LG never updated I'll be getting an iPhone next for the same reason.
I stick with all Nexus devices. I get upgrades 2 weeks after the release announcement. I don't think Android is fragmented by design but by user choice.
Google forces vendors to ship Google's services if they wish to use the Android branding. I don't see why they can't include language in the contract that says vendors should update the OS too. All Google seems to care about is whether user data flows into their servers.