Leere <div> Elemente darf es deshalb imho auch nicht geben.
man kann mit css fürchterlich viel machen - feststehende footer am seitenende usw sind kein problem - das problem sind leider immer wieder nicht standardkonforme browser - auch leere elemente sind ansich nicht nötig
zum thema variablen: jein, für farben und allgemeine defintionen wärs zb praktisch
solche "schreibweisen" wären in manchen fällen sehr praktisch:
//variable1// = red
h1 { color: //variable1//; }
h2 { border: //variable1//; }
h2 { background: //variable1//; }