The way to spread out the text over the entire textPath is to use the textLength
attribute. Also see this other question for how to compute a good value for textLength
. Here's how to do it:
<svg viewBox="0 0 500 300" version="1.1">
<defs>
<path id="s3" d="M 10,90 Q 100,15 200,70" />
</defs>
<text font-size="20">
<textPath xlink:href="#s3" textLength="205">
Short text
</textPath>
</text>
<use xlink:href="#s3" fill="none" stroke="black" stroke-width="1"/>
</svg>
Viewable example: http://jsfiddle.net/zkZ2n/

Here's the bugreport for Firefox not supporting textLength
: https://bugzilla.mozilla.org/show_bug.cgi?id=569722