Как валидировать ответы от API в redux (в частности react native)?
Начну с конца: 
3) можно сделать функцию helper, типа check status
приведу пример кода из старого проекта (не async / await, но не суть)export function checkStatus(response) {
  let json = response.json() // http://stackoverflow.com/a/29475662/1916578

  if (response.status >= 200 && response.status < 300) {
    return json
  } else {
    return json.then(window.Promise.reject.bind(window.Promise))
  }
}

export function httpGet(url) {
  return fetch(url, {
    headers: buildHeaders(),
  })
  .then(checkStatus)
}
и уже везде пользоваться httpGet для гетов, например. Конечно, можно расширить пример как вам нужно с необходимыми диспатчами и тд тп.
2) проверять необходимо всегда, чтобы пользователь понимал что происходит:
- вероятно у вас отпал инет
- на сервере ошибка, попробуйте еще раз
Думаю, стоит это начинать делать в catch у каждого запроса
1) если API не ваше - то делайте проверки, какие посчитаете нужными
Если API ваше, то проверки тоже необходимо делать, но в основном это нужно для обработки ошибок от сервера/сети.
Если у вас REST API, то учите Redux Saga
Если GraphQL API, то лучшее решение Apollo Сlient.
Эти библиотеки, в том числе, заточены под решения ваших задач.