We don't blame microsoft for superfish either, do we? Or hard drive failures?
There's an analogous situation with Android phones; Google doesn't try to upgrade every phone to the newest release, because they can't guarantee it will work afterwards.
I'd still blame the OEMs, of course, when the hardware stops working after installing from a retail Windows 10 disc. But in that case it was from a user-initiated action, at least.
>it should check that drivers are available for the hardware before trying to go through with the upgrade
From what I've gathered the issue tends to be with drivers not working, rather than not existing. This is again entirely the OEMs fault, there isn't any feasible way for MSFT to verify that the drivers aren't broken.
These OEMs knew very well that microsoft was going to do this but still neglected to fix their drivers.
Here's one example, but there are plenty of others: https://www.asus.com/uk/Notebooks/ASUS_EeeBook_X205TA/HelpDe...
Here's the faqs that begin "After installing Windows 10".
https://www.asus.com/uk/support/FAQ/1016168/
https://www.asus.com/uk/support/FAQ/1016490/
https://www.asus.com/uk/support/FAQ/1016169/
https://www.asus.com/uk/support/FAQ/1013137/
https://www.asus.com/uk/support/FAQ/1015923/
https://www.asus.com/uk/support/FAQ/1015947/
https://www.asus.com/uk/support/FAQ/1015970/
And it affects network connectivity, so you'll need to use a different machine to look find these FAQs: https://www.asus.com/uk/support/FAQ/1015954/