(partial answer)

Here is a method that finds the lowest x and y numerical point used to create the word, and subtracts all content in the graphic by these values to normalize the first character to {0,0}:

    TextToOutlines[style_] := Module[{content, xmin, ymin},
      content = 
       ImportString[ExportString[style, "PDF"], 
         "TextMode" -> "Outlines"][[1, 1]];
      {xmin, ymin} = 
       Min /@ Transpose[
         Cases[content[[2, 1, 1, 2]], {_?NumericQ, _}, 2]];
      ReplaceAll[
       content, {x_?NumericQ, y_?NumericQ} :> {x - xmin, y - ymin}]
      ]

    Show[Graphics@
        TextToOutlines@
         Style["Fubar", FontColor -> RandomColor[], 
          FontFamily -> "Helvetica", FontSize -> #] & /@ {8, 4, 2, 1}, 
     Axes -> True]

[![Fubar][1]][1]

This falls apart pretty quickly if any of the letters you're using have "feet" though, i.e.

    Show[Graphics@
        TextToOutlines@
         Style["Fybar", FontColor -> RandomColor[], 
          FontFamily -> "Helvetica", FontSize -> #] & /@ {8, 4, 2, 1}, 
     Axes -> True]

[![fybar][2]][2]

If I have time later today maybe I'll try to think of a method that can overcome this. It might be a useful start for someone else trying to tackle the issue, though.

  [1]: https://i.sstatic.net/5nRDU.png
  [2]: https://i.sstatic.net/CiRiS.png