Thanks for the inputs! I'll write down the proposal then.
I agree with others that you should start with text on path. First,
because this is required SVG functionality that we miss
(spacing="auto"); second, because typically gaps in the text on path
are much worse than in plain text and would benefit more from an
automatic spacer; and thid, because this problem is more general, and
if you find a good solution for it, you will have no problem adapting
it for the simpler horizontal text case.
I'm not sure it's possible to do this as an extension, though, because
this is core SVG functionality. But you can code a prototype in Python
and then port it into Inkscape with our help.