And Google has done that -- for instance, they use Binder for IPC instead of dbus/kdbus on Android. But every time Google does that, they pay a price for using Linux, as they have to maintain anything in the kernel that doesn't make it upstream.
The reason Google cares about this, as noted elsewhere, is that there is no stable kernel ABI for drivers, so vendors who release drivers-as-blobs, fail to release the driver source code (yes, it's a GPL violation; yes, it happens anyways) or otherwise pin their driver to a specific ABI need to release new drivers every time the kernel changes. Google would love to release Android versions independently of drivers, the way Windows works.