Ecco, vedi, l'errore è proprio partire dalla fine, tralasciando la radice del ragionamento. Tu non devi scegliere il div perchè pesa meno di una struttura tabellare, quanto perchè quel div in quel momento descrive meglio l'informazione che si sta analizzando.

Insomma, il markup va usato in base al significato dell'informazione a cui ci troviamo davanti al momento di marcarla. Se si tratta di un paragrafo useremo

, se si tratta di una macroarea useremo <div>, se si tratta di dati in relazione in riga-colonna useremo <table> e compagnia bella, se si tratta del titolo di un film useremo <cite>, se si tratta di una citazione useremo <blockquote>, se si tratta di un link che punta ad una risorsa in inglese useremo <a hreflang="en" ... > e via dicendo.

(X)HTML non va usato per impaginare ma per dare una struttura logica alle informazioni che compongono un documento web. Punto.