С появлением css переменных вообще подумываю от препроцессоров отказаться, ведь важный для меня пункт 2 из моего списка, также имеет побочные эффекты в виде усложнения поиска селекторов по проекту.
Ну и зря. У меня на галере капитан заставляет гребцов возвращаться в 90е, т.е. когда де-юре scss, а по факту пишем по старинке, все каскады друг за другом, в одну строчку, без вложенности. Вот где мат стоит. Из аргументов как раз ваше "ну, искать селектор тяжело, если ошибка на продакшене". И не вразумить, он жи "синьор-помидор". Кекмда.
Сам использую scss, не мыслю жизни без препроцессоров. У css-переменных есть только одно преимущество: декларативность, когда меняешь переменную и все меняется сразу же. По факту, очень удобно только менять темы на лету, что напоминает мне детские игры (хотя выглядит круто). Прозрачность переменной не сделаешь. В другой тип переменную не переведешь. Куча каких-то ограничений.
Единственный путь использовать css-переменные в сложном проекте, где они используются не только для однократного присвоения значения, но и для построения сеток, для перевода px в em \ rem, для динамического формирования спрайтов и цветовых схем; нужно идти по пути усложнения. Путь этот геморроен, но достоин любителей live on the edge. Нужно сделать так, чтобы для каждой scss-переменной существовал css-собрат, и добиться их синхронизации. В итоге получаем на деве исходники с мощью scss, на проде - мощь css.