Una considerazione semantica:
"dove con * ho messo vari numeri fra 1 e 6 in relazione alla dimensione del testo che volevo ottenere"
Questo e` scorretto. I tag <h*> devono marcare dei titoli.
I valori devono essere in relazione all'importanza del titolo, devono iniziare da 1 (nella pagina) e proseguire fino al 6 (senza salti).
Di default, la dimensione del titolo successivo e` non inferiore al titolo precedente, ma potrebbe anche essere uguale (ed ogni browser puo` anche formattare in modo diverso).

Se usi gli <h*> per dimensionare i caratteri, quindi, e` un errore semantico; se li usi slo per le dimensioni, anche.

Invece devi definire quello che vuoi nel CSS.
Se si tratta di titoli, devi usare gli <h*>; se non si tratta di titoli, devi usare altri tag (ad esempio <span>).

Nel CSS puoi definire la dimensione dei caratteri; meglio e` se la definisci in relazione allo standard scelto dall'utente (con valori in em o in %).
Per gli spazi prima e dopo, puoi usare gli attributi CSS
line-height
letter-spacing
padding
margin