Bien, muy buen punto de vista, como ya lo havia dicho antes se puede hacer con DOM. Yo no pensaba precisamente en la solucion que tu das, yo pensaba mas bien darle un display none o algo asi(CSS). Pero me quedo de a 2 con tu solucion, simplemente fantastico. Aun que el unico cambio que ele haria a tu codigo es, en lugar de declarar la variable como div, lo haria como noJS. Me parece un poco mas descriptivo y evita cionfundir nuestra variable con el elemento div.
Y si, si la pagina demora en cargar se vera el elmento durante un momento. Habra que encontrar una solucion a ese problema.