Is there any way to perform atomic updates of stored procedures in MySQL?
There is no way to solve this problem. It's one of many issues that arise over MySQL not having real transactions: the transactions do not cover DDL.

It's not just stored procedures either. That's a tremendous understatement. MySQL has fundamental problems with concurrency. It's MVCC model is non-existent with DDL: transactions are a function of Inno not MySQL. And, even at that the transaction model is broken with DML too.

I suggest migrating databases. I know that's steep. But shy of that nothing can done.