Você pode tentar compactar um a cada 10 blocos, por exemplo, para ter uma ideia:
perl -MIPC::Open2 -nE 'BEGIN{$/=96;open2(\*I,\*O,"gzip|wc -c")}
if ($. % 10 == 1) {print O $_; $l+=length}
END{close O; $c = <I>; say $c/$l}'
(aqui com blocos de 4K).