@ Джон Ми, я не думаю, что ты слишком усложняешь.
Имхо шаблон - это место, где должно происходить добавление нечетного класса. Логика и производительность мудры.
Здесь - патч для указания индекса во вложенном шаблоне. Если вам нравится иметь дополнительное свойство $ odd, его можно легко расширить следующим образом:
jQuery.map( data, function( dataItem, index ) {
if(dataItem){
dataItem.$index = index;
dataItem.$odd = index % 2 === 1;
}