Кхм.> Вообще-то о том и речь, что предлагаемый вами способ — более проблемный, чем используемый ныне.
Я бы сказал, что ныне никакого способа не используется, то есть, кто-то проверяет используемые функции по-штучно, кто-то привязывается к версии браузера - парся узерагент, что в сущности и предлагается прокачать, режимы совместимостимости - можно было бы добавить для отстройки от конфликтов версий, когда функции с одинаковым именем ведут себя по разному в разных версиях, хотя допущение такого = ломание обратной совместимости = в стандартах не разделенных длительным периодом времени нонсес, ноуворанти - со всеми вытекающими.
Хорошим примером, я бы назвал libfuse, несколько версий этого самого фусе прекрасно уживаются в одной библиотеке, и даже в одних заголовочных файлах (*.h), переключение по #define FUSE_USE_VERSION, которая автоматом дефайнится, если не указать.
Хотя использование минорно-мажорной семантики не так однозначно. Впрочем, наплевать, пусть уже примут хоть какой-нить стандарт, а то обновил оперу полез, на сайт мтс ммску отправить, а там кнопки 'отправить' нет, написал в поддержку, а они мол юзайти эксплорер, ну и каким хреном под линух его прикручивать, получается линуксоиды и не люди вовсе, черт, ненавижу корпорастов, и крыть не чем, стандарта-то нет.