Sadly this is just how it goes for Windows sometimes. You're right in your suspicion that Linux's driver infrastructure is miles ahead, and this wouldn't have happened on Linux.
Still, if I were you, I'd try doing an in-place reinstall, then double checking the driver package is the correct one, and then try to apply it. That should be the closest to a clean install without deleting any data.
Failing that… I'll be honest. I hate troubleshooting Windows. Hours of headaches spent with vague error messages and no documentation. When I have an issue on Windows and an in-place reinstall doesn't do it, I just take a quick backup and reinstall the OS clean. It's not worth fighting with. It's so complex 1 thing may have gone wrong out of 10 thousand different things and you don't have the tools to properly trouble-shoot it anyway unless you're like a senior Windows sysadmin. It's more time effective, and it also gives you the benefits of a clean Install - all the small errors and things that pile up over time on Windows just go away, any unnecessary software you didn't really want to uninstall is no longer there, etc.