I2C design consideration for several slaves
I2C will never freeze if used properly. But that's like saying that there would be no crimes if everyone just followed the law. There certainly exist masters and slaves that break the rules of I2C under certain circumstances.
You can minimize the risks of a badly-behaved device messing everything up in several ways:

As you suggest, put a crucial slave on its own bus if you believe that the other slaves might be untrustworthy.
Don't power up, or cut power, to any slave while traffic could be running. They should be able to power up and down without pulling the bus down, but some of them can't.
Have your system send a reset to all devices if the bus is pulled down for too long (the constraints of your system will determine how long is &quot;too long.&quot;)
Be careful about capacitance and resistance, so that you have decently fast rise times. Otherwise, your master could think that it needs to stretch the clock. (This shouldn't freeze the system, but it's nothing you want).
Avoid clock stretching by slaves as much as possible.

And, of course, use trustworthy devices as much as possible.