конечно если наговнокодить архитектуру и через одно место всё сделать, то следующий костыль сложнее втыкать предыдущего ))) если так не делать - вообще пофик, что с нуля писать, что в код дописать ещё тысячи строк
я бы не стал делать совместимость с IE, это того не стоит, как вариант можно написать проверку свойств апи и сделать заглушку - белый/черный экран с надписью браузер не поддерживается, это гораздо менее затратно