Возможно, с «костылем» погорячился,
просто порой используя все возможности DOM и интерфейса CSSStyleSheet, можно довести степень ненавязчивости JavaScript до абсурда, когда, утрируя, скрипт будет создавать под себя всю HTML-разметку, весь CSS (да и свой собственный код заодно).
Впрочем, наверное, вы правы. Если проблема явно ложится в рамки возможностей и предназначения интерфейса CSSStyleSheet, то решение, по-видимому, приемлемо. Жаль, что оно единственно… наверное.