Die EVEN/ODD Variante benutze ich grade, aber es wäre wesentlich performanter, wenn es mit einer Pseudoklasse geht.
Es geht auch mit einer Pseudoklasse - allerdings nur in Browser die diese auch unterstützen - da es sich eben um eine CSS-3-Eigenschaft handelt.
Die even/odd-Geschichte ist nunmal Best Practice.
Alternativ kannst du das auch clientseitig mit JavaScript machen (wenn du am Server Performance sparen willst[1])- jQuery stellt z.B. :nth-child() als Selektor zur Verfügung.
[1] Wobei ein "if zähler modulo 2 === 2" jetzt auch nicht wirklich enorm viel frisst :)