I have read several of the questions answered related to token expiration. The consensus seems to be 1) store your tokens locally (they usually don't change for some time after issued, but they might), and 2) update the server when you have a new token.
That said, are there cases where one might start their app and get new tokens (suppose they change and either GCM or APNS grants a new one to a device) but for some reason the device cannot access your server (due to network conditions, server down, etc.)? If so, then it would seem that you have a situation where a device is out there with a new token and you can no longer reach it.
I assume that, should this unfortunate series of events happen, the only thing that can be done is to make sure that the mobile app ensure that the server has received the updated token and - if not - retry when the app is re-launched later. However, if push notifications are key to prompt the user, then really the device is out of reach until they initiate a launch (it would seem).
Is that correct or are there other ways to deal with this corner case?