My theory follows.
I think you’d need a whole bunch of Animator effects applied to the text, as many as the maximum number of letters you will have in a line of text. Then you can set up (sliders and) expressions for animation.
The first expression you need is one that will automatically apply the range selector based on how many characters you have in the text. You can count that or use a slider to control it, the first option being the more automatic one.
Then you need a slider to set the length of the “tween” animations (how long do the horizontal or vertical animations take), possibly another two for maximuma offset horizontally and vertically. And perhaps one more for randomseed, in case you need to change it for a layer.
Then you need that one expression that ties this all together for one letter; range selection, in-between X and y positions, starting x and y positions, the animation first along one axis, then another and repeat for the second set.
I’d imagine it is possible to base the range selector on the animator name (so that Animator 1 and Animator 2 select a different range based on “1” and “2”, etc.), but if that’s too tricky, you can do that once manually for every Animator for the longest line of text. After that you can copy the layer and change the text.
That’s how I’d appraoch it.