I don't know what is reasonable to expect for small amounts of data like you are using. Compression is generally based on eliminating redundancy, or choosing more efficient code words like Huffman.
You'll have to implement it yourself, from the example code provided, but...If you can get hold of the last couple of issues of GameDeveloper (gdmag.com IIRC) there's been a good series of articles about using "arithmetic coders" IIRC particularly for compressing network-protocol data (amongst other uses).
It might appear on gamasutra over the next couple of months, but it might not (I don't know how they decide what to publish for free on the site, but obviously they can't publish everything or no-one would read the mag. Or something like that...).
...or just Google for AC's and find out what they're about

. But AFAICS reading the articles in GD would be easier.