У меня свой подход к именованию классов, который чаще всего сводится к префиксам:
lt_ — высший уровень разметки, типа контейнеров для шапки, подвала, сайдбара, основного контента, от layout
b_ — блок или элемент блока (в случае, когда элемент, пишу b_названиеблока_названиеэлемента, типа b_item_cnt или b_item_img)
m_ — модификатор, для навешивания дополнительных стилей на блоки или их элементы
На малых и средних проектах этого за глаза хватает. Вообще из всех рассмотренных методологий понравилась больше всего MCSS, но мне обычно такая строгость разделения слоёв не требуется.