Если есть возможность отредактировать svg, то можно обернуть все содержимое в тег
<g></g>
и для него вызвать метод
getBBox, полученные значения можно использовать как viewBox
Альтернативный способ: суммировать BoundingBoxы всех элементов в svg, уже предложили на другом форуме.