So wenig Divs, wie nur möglich — im Prinzip schon richtig. Aber der einzige Unterschied zu <span> besteht doch in der initialen Darstellung. Beide sind semantisch leer.
Wenn du kein passendes Element für deinen Zweck findest, nimm <div> oder <span>. Deren Einsatz ist nur dann »böse«, wenn sie richtiges HTML ersetzen, also Spielereien wie:
Code:
<div class="h1">Ich hätte eine fantastische Überschrift sein können!</h1>
… sind »böse«, ein:
Code:
<span class="eigenname">Lufthansa</span>
… wird dir aber niemand vorwerfen können.