Как делаете вы?
Один файл с общими стилями всего проекта, ещё один с общими стилями раздела (шапка, подвал, специфические стили админки и т.п.) и ещё один файл со стилями специфичными для страницы.
Если настроено HTTP/2, то последний файл можно заменить россыпью файлов каждого блока со страницы. Но нужно замерить производительность такого подхода в каждом конкретном случае.
к каждой странице подключается ... сборщик, который их сливает
Какой ещё такой сборщик?
Через что оптимизировать?
Через что хотите.
После оптимизации насколько удобно такой код поддерживать?
Поддерживаете вы неминимизированные исходники, поэтому настолько же, насколько и до.
препроцессоры - чем они могут помочь?
Прочитайте любую статью про препроцессоры, там всё объясняется.