Incentivize people to take on-call time and those who are fit will take it.
I for one am perfectly capable of advanced software engineering work but I am NOT capable of compromising my sleep without causing serious heart arrythmias. Some other person might have to deal with a baby. Some other person might sleep early and do meditation at that hour because it helps prevent panic attacks during the day. Everyone is different, and personal time and rest time should be respected. There is so much behind the curtain of off-work time that employers don't see, and don't need to see, they just need to respect that time.
But in my experience, every single place I've worked, has had insane on call hours. And you were ALWAYS expected to do your normal work on top of the on call hours and you were NEVER given time to fix the issue that woke you up in the middle of the night.
Until the actually engineers/developers are in charge of their own schedules on call shifts will be fucking bullshit.
If it's just a question of product uptime then you should have enough people and pay people extra to be on-call. And don't deploy things at 5pm on a Friday.