I did a lot of research then finally I found answer to my question.
Answer is:
Blockchain upgrades are of two types:
1. Updates without breaking changes
2. Updates with breaking changes
The updates which will not break anything allows users to update their nodes at their pace, and its the choice of node holders to upgrade or not.
But in case of updates with breaking changes, its complex. A meeting is done by community, where they decide upon the changes and time when it should be done.
Ample amount of time is given for that.
Every node implementer makes the code changes, test them and then community sets a deadline that by this time majority of the nodes should be updated. If majority of nodes upgrade themselves, then update is successful otherwise it has failed.
Now a question arises
If upgrade is in process for a breaking change, Do other businesses running on that blockchain stop for the time being?
Answer : No they will not stop working. The way they make these changes is that if the node gets upgraded, old data should work fine. Only the data being created after a certain date will get affected. it's possible that after deadline someone doesn't update their node, then it might stop working for them. Since they are not in consensus with the network.
When someone is upgrading their nodes. They try that there is no downtime and a strategy is followed.
For single node runner: it's not possible that there is no down time for the users who uses only one node. Although there is one work around for minimum downtime. Install the new node, and then stop the old one, and start the new one with old data directory.
For multi node runners: they generally load balance users to 1 cluster, upgrade the 2nd cluster then move users to 2nd cluster and upgrade the 1st cluster.
That's how many hard forks have been done in ethereum blockchain.