Залогируйте это место: .filter(Response::getResult); Возможно, не всегда ответ просто приходит.
И еще: у вас куча паралельных запросов. Пора подумать о выделенном ExecutorService-е.
федор unknown, можно после того как ответ поступил его проанализировать и замапить еще раз. Вообще в этом апи есть куча методов: таймауты, ретраи, подписки на ошибки... Есть что поизучать. Если вы хотите делать повторные запросы по какому-то другому полю, то лучше все что во .flatMap вынести в отдельный метод, в которым уже эти запросы будут как-то организованы.
Производительней? Тогда мы возвращаемся к вопросу "нужна ли видеокарта"