Идиотизм. В древнем Symbian это было, когда андроидов ещё в природе не было.
Постараюсь коротко изложить проблему, так сказать - на пальцах, чтобы кроме нас, понятно был и остальным.
В Андроиде на уровне ядра - Линукс, а это - монолитное ядро, которое означает, что все драйвера уже есть в ядре (или подключаются в виде динамических модулей), но скомпилированы должны быть под текущую версию ядра. Обновили ядро - пересобираем модули.
У Windows - гибридное ядро, драйвера там подключатся через низкоуровневое API и могут быть собраны отдельно от ядра, пока системные вызовы не изменятся, драйвер будет работать. Это дает возможность иметь общий драйвер на линейку ОС и устанавливать его самому пользователю.
С точки зрения мобильной ОС монолитное ядро - плюс, во первых драйвера компилируются вместе с ядром под текущее железо, что дает хороший плюс в производительности и не дает шаловливым рукам пользователя превратить устройство в кирпич, поставив какой нибудь левый драйвер (привет Windows CE).
Теперь о Symbian и т.п., Symbian собирался конкретной фирмой, под конкретные аппараты, их железный состав был известен и поддержка железа была реализована на нужном уровне.
Андроид от Гугла - это голое ядро + сервисы Гугла. Все. Остальное на откуп производителя. Производитель берет некую платформу, драйвера к ней, ядро с ванильной системой, добавляет своего шлака и компилирует готовую прошивку. А как и чего он там собрал - это уже на его совести. Не запилил поддержку режимов A2DP - значит их не будет. И сам не воткнешь, даже имея рута. Если драйвер таки позволяет управлять режимами программно - можно прикрутить некий костыль.