aber wenn es tatsächlich keine Möglichkeit gibt, dieses Aufflackern zu verhindern,
Doch. Die gibt es:
<html>
<div id="html_native_001" style="background-color:red">
Foo, Bar, Baz
</div>
<script>
document.getElementById("html_native_001").style.display="none";
</script>
<div id="only_js" style="background-color:green;display:none">
Baz, Bar, Foo
</div>
<script>
document.getElementById("only_js").style.display="block";
</script>
</html>
hierdurch wird das Element ausgeblendet BEVOR irgendetwas angezeigt wird. (Du kannst das auch durch eine Klassenzuweisung machen.) Freilich ist das synchrones JS und widerspricht damit derzeitigen Moden.
The DOMContentLoaded event fires when the initial HTML document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.