I've been using
ShortKeys for several years. The free version is limited to, I think, fifteen (15) replacement sets, but the paid version accommodates many more.
The replacement text is limited to 3,000 characters, so that may not work for you. I've never had need to try truly formatted text, so cannot speak to that. It's a Windows TSR, so it works in almost any application.
You might give it a try.
You might also take a look at
timns'
Auspex. I don't know the limits, just started playing with it, but since
timns is an active DC local, he'd prolly accommodate reasonable enhancement suggestions if Auspex doesn't currently perform to your needs.
Edit: I see
lanux128 got in while I was typing
.