Ethan Merritt - 2017-12-13

For vector-based terminals, including svg, the scale is essentially arbitrary. The visual size is determined in the end by the page size of the document it is embedded in. In order to allow the same script to produce the correct visual font, point, and line sizes on multiple terminals or multiple eventual display media gnuplot provides additional options to the "set term" command. The intended way to handle the specific case you mention is to add "fontscale 96./72.". If you later determine that the svg file will be scaled up an additional factor of, say, 2.5 for printing then to retain absolute (unscaled) font size you would rerun the gnuplot script saying instead something like
set term svg fontscale (96./72.)/2.5

Conversely if you want to achieve the same ultimate document size by producing an svg file that is intrisically larger and thus does not need to be rescaled later you could instead use something like
set term svg size 600BIG,480BIG fontscale BIG linewidth BIG
A typical use is for preparing a poster-size version of a figure originally composed for a typical journal-size page layout.

Some terminals also provide "pointscale BIG" but I see that the svg terminal is missing this one.

As to problems with the spacing allowed for text in svg output, the text component of plots in the on-line svg demo collection looks reasonable and I do not recall any bug reports for svg text placement issues. So if you have found a case where it is clearly wrong that is probably a bug worth reporting separately.