Arduino Leonardo/Micro "better" drivers

I'm developing a product based on the Arduino Leonardo bootloader. The product can be connected to a computer over the USB port to be configured using a desktop application I developed. I'm using the Leonardo as a generic serial device. The problem is, the drivers of the Leonardo (also Micro) needs to be installed manually on windows, and even worse, on windows 8 and 10 you have hacked them in. This procedure is unacceptable in a consumer oriented product.

Reading the USB protocol standards, for a simple serial host device, the main OS (including windows) should not require an special driver. Why is the Leonardo/Micro drivers so problematic on Windows (specially 8 and 10)? and Is there a way to simplify the bootloader so the device is easily installable on windows?

domingosl:
Reading the USB protocol standards, for a simple serial host device, the main OS (including windows) should not require an special driver. Why is the Leonardo/Micro drivers so problematic on Windows (specially 8 and 10)?

Note the key word:
Windows.

I could imagine that the Arduino boards use a special ID, indicating that they can also be used to program the device. This one could be replaced by a generic serial device ID - provided that such one exists (dunno).

That's actually a pretty good idea, can any body confirm is possible?

I found where the descriptors are defined in the bootloader; https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/bootloaders/caterina/Descriptors.c

There are concepts far from my field, but I think this is the place to start.