Долго гуглил на эту тему, в том числе и на английском. Информации, почему-то, нет.
Полез смотреть, как реализованы svg-иконки на крупных сайтах. И на абсолютно всех крупных сайтах иконки задизайнены так, что имеют небольшой зазор относительно краёв viewBox. Так же задизайнены и вот эти иконки, например
https://heroicons.com/ .
Что касается решения моей проблемы, я не стал перерисовывать все иконки, а просто поправил viewbox. Иконки у меня в проекте разношерстные и пиксельперфект не так важен. Принцип заключается в следующем: viewbox, как мы знаем, описывает координаты левой верхней и правой нижней точки обрезки. Всего 4 числа, вроде: "0 0 512 512". Увеличим область просмотра на 5-10% (или на половину толщины линий в иконке). Например, у иконки с
viewbox="0 0 100 100"
устанавливаем
viewbox="-10 -10 120 120"
(т.е. добавили с каждого края по 10 единиц). Этим мы как бы уменьшим масштаб иконки в рамках viewbox'а, отодвинув края рисунка от краёв viewbox'а.
И проблема решена! Надеюсь, кому-то еще пригодится.