To make this process safer I usually recommend:
1. Put all new code behind feature flags that are off by default in production.
2. Make rolling back easy.
3. Have extensive unit and integration tests.
Some of the deployment steps could be automated even further -- maybe the CI server automatically deploys Staging after a successful build.See the books Accelerate: The Science of Lean Software and DevOps, and The Toyota Way for more.