решение с классами куда лучше чем решение с позиционированием элемента в макете
25% - 10px откуда эти цифры? 37.5% - 10px а это откуда?
preserveAspectRatio="none", а для отдельных элементов с обводкой задавать vector-effect="non-scaling-stroke".
Проще всего добавить пустых ячеек в начале и конце каждой строки.
Подправил
И никакой конкретики. Озвучьте проблемы.
Заодно объясните, как в вашей гениальной вёрстке gap между элементами задать.