Можно придумать открытый способ идентификации устройств, выдать всем устройствам его поддерживабщим одинаковые VID+PID на шине USB, и сделать свою собственную шину, где проблема с драйверами будет решена.
Свою собственную шину, разумеется, делать не надо. Достаточно только сделать драйвер, который ОС будет запускать для данной пары VID+PID. Этот драйвер запрашивал бы по стандартизированному для данной схемы протоколу более подробную информацию об устройстве (например, 128-битный UUID) и, в зависимости от результата, подгружал уже драйвер конкретного устройства.
Под словом «шина» обычно имеется в виду физический интерфейс с заданными протоколами обмена. То, что механизм подгрузки одного драйвера другим в некоторых ОС называется «шиной» — это специфика архитектуры и терминологии конкретной ОС.
Хотя с некоторой натяжкой и можно сказать, что шина USB, дополненная протоколом UUID, является уже другой шиной, но все же это вводит в заблуждение. Мы же все-таки ведем речь о сугубо программном решении, которое не изменяет стандартные протоколы обмена USB, а максимум — добавляет класс устройств, аналогично другим USB-классам (HID и т.д.)
Микрочип вообще молодцы. Они и для MAC-адресов предоставляют решение. Покупать у них чипы 24AA02E48, в каждом из которых прошит уникальный MAC-адрес. Выгодно для мелкосерийного производства устройств с Ethernet.
Бесплатные пары VID PID для открытых проектов