I have a similar situation against the Drupal REST API. But so far have been unable to come up with something different then handling the error case in my update function, and retrying there.
I received some suggestions here, have a look, as they are similar to your proposal. Haven’t had the time to try them yet.