Vendors, including Google, need to realize this and figure out some way to do long term support for at least five years if not more.
So easy to say, so hard to actually do. With the wide performance gulf between a 2011 device and a 2015 device, optimization would be hell.
Toss in vendors fucking around with closed source drivers, locking you into specific kernels, and Google's own out-of-tree changes that make it virtually impossible to use upstream trees, and it becomes harder.
On top of that, add that handset vendors crank out dozens of models in a single year and, as soon as that product is done, the team is moved rapidly to the next project and you're lucky to get support for things shipping 3 months from any given point.
Heck I know plenty of companies that run ten year old PCs (or older since I know a few places run DOS still in their machine shops)
And in that case you're on your own and should be. A PC from 2005/2006, or running DOS, is almost entirely unsupported now except by virtue of the 30+ year x86 legacy. You can't reasonably expect new drivers for nForce 4 chipsets or what not, let alone fixes.
This need to constantly push 'new' is unsustainable for a large part of their user base.
And at some point you have to assume responsibility for things beyond their warranty period if you wish to continue using them. Most of the time this isn't a problem, but things fall by the wayside and become too old to justify support for.
Of course, this is why Free Software is so great, and why binary-only drivers are crap. All those Galaxy Nexus users wouldn't be up shit creek if not for TI shipping only binary blobs then exiting the business and taking their drivers with them.