Ruchu:
Según lo que leí, se podía usar DEFER cuando en el js sólo habían funciones, entonces no lo cargaba hasta necesitarlo, pero no lo he usado nunca :(, creo que tal vez habría que indicar que función lo llama, pero no se como.
Otra cosa que leí, es que dentro del TAG SCRIPT, podés poner ID, asi que no te haría falta el span, también se puede usar innerHTML.
Tal vez lo soluciones por ese lado
En cuanto a esconder código... ojalá no se pueda e Internet siga siendo OpenSource ;)
Te mando un saludote desde la provincia más linda de Argentina:
Mendoza