The release cadence is public. If you run upstream be ready to do frequent updates. If you are a cloud provider you should also be ready to do frequent upgrades.
I tend to agree with you. Move Fast and Break Things has broken our industry in many fundamental ways. Just moving from 1.10 to 1.13 will result in broken integrations due to changed/deprecated APIs, no matter that it's a minor version change.
How can I know if a version is no longer supported? I found their docs talking about the four previous versions, but that seems to just be about the documentation and I can't find a statement about the software itself. Does the Kubernetes project do anything like Ubuntu or Node.js with the LTS concept, or is it a situation where you need to be running a version within the last x releases?
You often find some confusing statements about supported versions because sometimes they're talking about version skew between different components. More about that here: https://github.com/kubernetes/website/issues/7103