Since there is no semantic version locking between versions of different add-ons and such in HA, you may always be at risk of hitting a wall like you describe. Keep backups and rollback, that's about the best you can do.
In the future, they would be smarter to use semver locking so you don't accidentally update something that is incompatible with other versions of things like a package repo, but that's a lot of heavy lifting that will take awhile to sort out.