I think I've figured out the solution:
You
MUST HAVE @width and @height set on the root <svg> element. If not, scaling does not work properly.
You
SHALL remove any top-level bounding boxes. You can identify Adobe Illustrator bounding boxes by @id.
<g id="boundingbox"> <rect class="st0" width="331.7" height="283.5"/></g>You can identify these structures with Schematron. Please find a validation schema below for reference. You can mass-validate SVGs by selecting them in the Project view in Oxygen.
<?xml version="1.0" encoding="UTF-8"?>
<sch:schema
xmlns:sch="
http://purl.oclc.org/dsdl/schematron"
xmlns:sqf="
http://www.schematron-quickfix.com/validator/process"
xmlns:xd="
http://www.oxygenxml.com/ns/doc/xsl"
xmlns:xsl="
http://www.w3.org/1999/XSL/Transform"
queryBinding="xslt2">
<sch:ns uri="
http://www.w3.org/2000/svg" prefix="svg"/>
<sch:title>Schematron validation</sch:title>
<sch:p>This helps to find common errors that might cause trouble when publishing SVG images with Apache FOP.</sch:p>
<sch:pattern>
<sch:rule context="svg:svg" role="error">
<sch:assert test="@width or @height">
The attributes <sch:emph>@width</sch:emph> or <sch:emph>@height</sch:emph> <sch:emph>MUST</sch:emph> be set for scaling. Open in Inkscape and resize document to image CTRL + A and SHIFT + CTRL + P.
</sch:assert>
</sch:rule>
</sch:pattern>
<sch:pattern>
<sch:rule context="svg:svg/svg:g" role="warning">
<sch:report test="@id = 'boundingbox'" sqf:fix="remove-top-level-bounding-box">
Remove top-level bounding boxes. They might cause a white border in the output
</sch:report>
<sqf:fix id="remove-top-level-bounding-box">
<sqf:description>
<sqf:title>Remove bounding box</sqf:title>
</sqf:description>
<sqf:delete match="."/>
</sqf:fix>
</sch:rule>
</sch:pattern>
</sch:schema>