Наперед посчитать не получится, если только вы не Ванга :D
Реализуйте простую логику - показываем спиннер через 300 мс., если за это время не пришел ответ.
Если ответ приходит позже, а спиннер уже отображается, то делаем принудительную задержку, чтобы спиннер отображался не менее N мс.
0мс - отправили запрос
300мс - ответа нет, включаем лоадер
350мс - пришел ответ, лоадер активен, минимальное время отображения лоадера 400мс, откладываем обработку полученных данных на 400 - (350-300) = 350мс
700мс - скрываем лоадер, обрабатываем данные (вываливаем в скоуп и.т.д)