Достоверно известно, что некоторый API периодически отваливается по таймауту или с 5хх ошибкой, как решить?
1) Кешировать на стороне приложения, что возможно. Тут все сильно зависит от того какое это API и характер работы с ним. В вопросе это не указано. 

2) При обращении к API учитывать таймаут или 500 ошибку. Повторять до успеха или признания поражения. Если на API много бекендов можно попробовать слать параллельные запросы в стиле промисов.
обработать ответ 500 ,подождать несколько секунд и попробовать снова, итак N попыток