Если все эти другие объекты содержат ссылки на синглтон, вам нужно будет вручную обновить их путем (повторного) вызова методов, передающих новый экземпляр и переустанавливающих переменные.
Разумнее было бы обойти простой объект-обертку, который сам ссылался на синглтон и через который все другие объекты обращались к нему. Когда вам нужно было обновиться до нового синглтона, вам нужно будет только изменить ссылку на оболочку.
Типичные реализации синглтонов упрощают это еще больше, просто публично предоставляя статический метод get()
классу синглтонов и предоставляя другим классам возможность вызывать этот метод, вместо того, чтобы передавать синглтон как посетитель.