Тоже скоро грозит мне похожая задача, но не с файлами.
Думаю вам стоит немного модифицировать свой протокол. Внести в блок данных заголовок, размер пакета, и контрольную сумму. Так же можно добавить логику, которая увеличивает и уменьшает размер блока передачи в зависимости от потерь, подобно тому, как делается в TCP. Если ресурсы еще останутся, можно реализовать помехоустойчивое кодирование ReedSolomon или аналогичное.
Причина ваших проблем, возможно, кроется в точках доступа wifi, помехах в эфире, особенностью BT-антенны в конкретном телефоне (конструктивно неудачна расположена)
В моей практике было несколько устройств BT, которые работали всегда хорошо, но однажды я взял Samsung GT-6312, и с ним постоянна пропадала связь, поэтому я думаю вам стоит расширить парк телефонов для теста, благо с Android их можно купить уже по цене меньше 100$.