Сперва хотел рассказать про хранение WAV файлов в формате PCM, но передумал. Вы собираетесь экономить на печеньках - не правильный подход.
Предлагаю оптимальный вариант + его модификацию.
1. Раз данные пишутся и читаются последовательно, то вам Бог велел использовать потоковое сжатие (это если файл в оперативную память весь не влезает, иначе тупо зиповать можно было бы). Не зная языка программирования не могу подсказать библиотеку. На C++ можно декорировать файловый поток архиватором, чтобы на лету данные паковать. Самому архиватор писать не стоит, лучше поищи готовую реализацию.
2. Так как числа упорядочены, то вы правильно предложили хранить разницу между соседними числами, это обеспечит очень много повторяющихся величин, которые должны отлично сжаться любым архиватором.
Как правило архиваторы считают контрольную сумму кодируемых данных, поэтому дополнительной проверки не должно потребоваться. Если при закачки на/из облака данные повредятся, то при распаковке это должно будет выясниться.