If you as a user or third party provider integrated with this API and rely on it for functionality, you have no alternative nor recourse.
> As a Works with Nest developer and partner, you will not be able to access or control Nest devices once the Works with Nest APIs are turned off on August 31, 2019. Moving forward, our team will focus on making Works with Google Assistant the most helpful and intelligent ecosystem for the home, enabling all of the products in your users’ homes to work together. We encourage all smart home developers to visit the Actions on Google Smart Home developer site to learn how to integrate your devices or services with the Google Assistant.
Beyond this, apps can be updated to remove or decrease support for older devices, and here our focus on trying to insist on auto-updated apps to fix security problems, or on apps that are designed to receive server-side updates, causes significant problems.
At some point, for example, I'm going to have to stop using the Philips Hue app, because I have an older Hue bridge. Support for the older bridge was at some point removed from the main app (and accompanied by an advertisement for the newer bridge), and moved to a legacy one, which seems to have a significantly slower response time. Now the legacy app has popups noting that web services will no longer support older hubs, and other services will be degraded... along with advertisements for the newer hubs. I expect at some point the app will simply be intentionally broken, entirely.
Fortunately, in this case, I can just use other apps, and other systems entirely, if need be, and at least the older hardware supports entirely local APIs (unless Philips decides to push a firmware update to break them?). I'm certainly not going to replace hardware that works with new hardware that provides no benefits, and throw away the old hardware; this would make no sense.
We call it the tech industry but 90% of it is actually politics. Big money influences things the most but everyone basically looks out for their own interest, right down to programmers shilling their favourite language/framework. Thats what makes this a difficult problem.
Edit: I want to add that this is a really easy problem to solve. Support or create an open standard for the communication between the device and the server. Allow the device to be reconfigured to communicate with other servers. Then you can shut down your service and owners can keep on going. Better yet, make it so that our device can communicate on the LAN without needing a server at all. These problems exist not because they’re some inevitable fact of life, but because these companies see more value in not fixing them.