Используйте препроцессор, именуйте всё по БЭМ (хотя это на любителя), все компоненты по разным файлам, для сборки grunt/gulp. Можете подсмотреть, как сделано в
Bootstrap.
В процессе возникают нюансы, которые не удалось определить на этапе проектирования
Значит фигово проектировали. Невозможно один раз написать стили, которые будут подстраиваться под все возникающие новые условия. Всё это нужно было предусмотреть заранее. Что-то не предусмотрели - извелике уроки и пересматривайте всю логику стилей или отдельных компонентов.
Понятно, что ситуации бывают разные, например, проект может быть долгоиграющим, постоянно что-то дополняется, меняется. Общая идея, как тут поступать - разбивать всё на отдельный компоненты (блоки), сводить к минимому их зависимости. Переписать код отдельного компонента будет гораздо проще, чем весь код целиком.