Самый простой и эффективный тогда - модифицированный RLE
Первый бит =0 - была компрессия, следом идёт указание количества байт и сам байт. Первый бит=1 значит байт не упакован. Ну и сам байт следом.
Очень потоковый, нет никакой более информации ДО.
Или вообще брать чистый RLE. Во всех остальных случаях опять уйдёшь к LZ* методам.
Или бери готовое дерево частот и чистый Хаффман. Как то не представляю что ещё тут можно придумать. Все мне известные пакеры кроме RIP используют LZ* методики