Upstreaming the code also means quality control. Linus and his subsystem maintainers by far do not merge everything people throw at them. Users also gain out of the box support for their Hardware if the driver is in the kernel. Also a lot of people using and developing Linux or the surroundings care about (at least some aspects of) free Software.
> Why would it need to "reduce the quality of running kernels"?
Because possibly (mostly, HW manufacturers in general are not exactly known for the quality of their software) low quality code becomes part of the kernel, Linux is a monolith.
> If Windows can have a stable ABI, why can't Linux have it too?
I think not providing a stable API/ABI is a major reason why Linux is able to move so fast. If you have to make sure your change does not break this 5+ year old driver you can't do major architectural changes that easily. The kernel developers would then need write the equivalent of such a "silly" wrapper.
> I guess this is an issue for Google too, for their Linux fork Android.
Google apparently likes doing this, e.g. they also maintain a fork of openssl to make some minor changes for their needs.