Much of this could have been avoided by knocking some sense into the entities that constantly propose new features and those who implement them as native browser elements instead of JS libraries where possible.
That's what Google did with the shadow DOM they used on YouTube: since Firefox had no support for it they wrote a polyfill (which is a JS library to emulate a feature) and the resulting performance was terrible.