Как не писать г-код html?
По CSS вопросов нет - там просто соблюдать "чистоту"
Да как бы ни так, по моему лично мнению, касательно html, достаточно следовать этим styleguid'амОт разработчика bootstrap
Опять же соблюдать DRY в чистом html сложно (6 одинаковых блоков по структуре), по этому как советуют выше присмотритесь к jade и другим шаблонизаторам (особенно к php, волею судеб придется работать с ними).
Ну и чтобы быстрее придти к осмысленности, стоит взглянуть на БЭМ хотя бы на уровне именования классов.nicothin.github.io/idiomatic-pre-CSS
пользоваться наверное препроцессорами