I understand regular users are stuck with all kinds of solutions that make nerds cringe. And being someone that uses a lot of edge case solutions for myself, I do understand the need. On the other hand, when it comes to developing for heavily flawed platforms, that's like saying: you personally like adult companionship, but still need to recruit alter boys for the Catholic church due to a small demand.
People will scrutinize your objective in a thread that starts off saying we need a tech area. Thus why tech people are like... do not want a tech section if the purpose was to discuss Internet Explorer. Like saying we should build a swimming pool, but stock it with eels for the small group of people who eat eels.
Time is valuable, I would rather spend time developing long term solutions, not shrink the room by adding a new coat of paint to the walls every week to cover up all the lead and asbestos. No analogy hat trick necessary.
.......................
All that being said... How would you get around this? You need to use the IE equivalent for each function or create a compatibility set to pull from that uses the script as is, but you are now defining what it means exactly. Something like the object, name, if IE string, then var set, then what you want it to do.
And yes, you do that for each error, add it to whatever file you are pulling from or keep it dynamic in each page. I think it's easier to just keep it all together so you can pull from it as you please. Also, if you want to cheat, there has to be a resource where someone has already done the conversions for each undefined function.