Try this:
document.head.insertAdjacentHTML('beforeend', "<link href='my.css' type='text/css' rel='stylesheet' />");
This adds a new css link at the end of the <head>
element, without messing with the DOM in any way.
"It does not reparse the element it is being used on and thus it does not corrupt the existing elements inside the element. This, and avoiding the extra step of serialization make it much faster than direct innerHTML manipulation." - developer.mozilla.org
insertAdjacentHTML
is a relatively unknown function, but well supported.