Here are the steps you can follow -
1. Decide a Date and Time on which you are going to run CRDD
2. Send an email to all the users in your organizations and the organizations which are connected to your application via integrations notifying them about the scheduled maintainance.
3. On the scheduled date and time, modify your bshell name in $BSE\lib\ipc_info file
4. Kick out all the users or orphan processes which are still logged in
5. Configure your BECS/Worktop with the new bshell name
6. Log In and Perform CRDD
7. Log out
8. Log back in to check if everything looks okay.
9. Revert back the bshell name to the original in the ipc_info file
10. Notify all the users that application is back online
That is the most basic way of performing any updates to your application in single user mode.
If someone has any better approaches, ideas are welcome.
Unless you try to do something beyond what you have already mastered, you will never grow!