Si meta, hay varias formas de lograrlo. Pero permitime citarme con una pequeña modificación:
Cita: Si sólo se va a usar para colocar una imagen de fondo a un h1 y ocultar su texto,...
Ahora si. Si el <spam> lo incluimos solamente para lograr ese efecto, estamos usando, por un lado, un elemento de marcado extra (el spam) y, por otro, un CSS también extra (.h1 span{...})
No es que esté en contra (o a favor) de incluir un spam dentro de un h1 (o de donde sea). Es sólo que me parece que hay que evaluar cuçando es necesario y cuándo no.
Saludos