I think 1st order (or was it 2nd order ?) Huffman could be explored in my CompressTools.
For text with upper and lower case, you'd need about 2*26 trees of 2*26 nodes so this can be stored in about (2*26)*(2*26) = 2074 bytes, which is reasonable.
The problem is that, as the number of symbols used goes larger, both the amount of trees and their sizes goes larger, and it quickly becomes a big mess.
Another problem I'd think is : Which tree do you use for the very first symbol ? I think I could use either a different tree, or use the same one as the tree for symbol 0x00 for example, which is a "dirty hack" but it'd work and be easier to implement.
About LZH, I assume it's yet another LZ77 variant, so this means it requires to decompress and entire "sliding window" in size, and those are usually at least 8kb in size, which is a lot or RAM. Although on the SNES RAM is not so much a problem as on the NES.