Compressed archives are probably the very worst
format for trying to insert a subchannel. The problem here is that
almost every bit change in an archive has an effect on many bits in
the unpacked contents, and in a way that depends on the whole
archive contents. Changing a bit or two at random is extremely
likely to produce unpacked files that have invalid file formats (or
just corrupt archives). This is easy for an attacker to notice.
About the only place a few bits of subtext might be located is by
taking advantage of the error-correcting codes (ECC) some archive
formats use. You could introduce an occasional "error" in
archives of the type the ECCs would correct upon unpacking. One
trick would be to make sure that archives with subtexts do not
have many more errors than archives without subtexts (which
means introducing random "errors" to all transmitted archives that an
attacker might intercept).
Natural language text. Natural language is extremely
free-form, and thus is an excellent format in which to embed a
subchannel. Normal texts contain all sorts of spacing
variations, word-choices, types, and other "random" features. But
then, a too-obvious subchannel encoding strategy is easy to
detect. Sure, people make typos, but not in uniformity in every
third word. Too much pattern in the "random" variations is easy
for a machine scan, or a human reader, to identify as a probable
subtext.