At the VERY least, Google ought to commit to releasing unsupported "best-effort" automated builds of binary kernel modules for proprietary hardware for at least 5 years. It's something that would take only a tiny bit of effort (or arm twisting) by Google, and would go a LONG way towards neutralizing the misery caused by Linux's lack of a stable kernel ABI by doing the ONE THING for us that we genuinely can't do ourselves -- build proprietary drivers from source so they'll work with a new kernel.
Alternatively, Google should come up with a slightly better alternative to loadable kernel modules that enables some reasonable degree of compatibility between kernel builds. Or just fork Android's kernel outright, and commit to keeping the kernel ABI stable (absent some really, REALLY good, compelling, and urgent reason) from release to release.
The really fucked up thing is, ten years ago you could do a guerrilla upgrade of a Windows Mobile 5 phone to Windows Mobile 6 by doing little more than copying