Как избежать накопление неиспользуемого CSS-кода в ходе жизни сайта?
В простой верстке - никак (вернее это реально, но сложно), простая верстка это просто сгусток неконтролируемого хаоса, которому мало что поможет.  Чуточку поможет БЭМ и отказ от повтора селекторов.

А вот если стек посложнее, то там есть нужные инструменты.

1. Изоляция стилей каждого компонента.
2. Не дублировать стили с одинаковым селектором.
3. Минимум глобальных стилей, точнее никаких, максимум задушить дефолтные браузерные свойства, шрифт глобально сменить и все такое.

Вообще этого уже хватит, на данном этапе это уже удобно контролировать и можно автоматизировать поиск unused, во многих фреймворках это уже есть с коробки. Не говоря уже о css-in-js, styled-components и всем таким.
Как избежать накопление неиспользуемого CSS-кода в ходе жизни и развития сайта?В общем случае - никак. Если не следить за привязкой кода к цсс в процессе изменения, то такая фигня будет накапливаться естественным образом. 

Иногда помогает прогнать странички через пэйджспид, там обычно есть раздел - неиспользуемые стили. Выписываете для каждой типовой странички, потом сравниваете и ищете общие лишние стили.