Hi SM,
Have you tried to reset the I2C bus when it gets stuck low?
There is a way to do this by software in case SCL is not stuck low (only SDA is stuck low), this is done by sending an extra clock pulses if the data line is stuck low. Sending 8 extra clock pulses will re-initialize the slave state machine. If the clock line is stuck, then there is not much that can be done without using a hardware solution.
In the case of the PCA9548ABS, you have an active LOW reset input that allows the device to recover from a situation where one of the downstream I2C-buses is stuck in a LOW state. Pulling the RESET pin LOW resets the I2C-bus state machine and causes all the channels to be deselected as does the internal Power-on reset function.
PCA9548ABS does not include internal protection diodes other than the 2000 V HBM and 1000 V CDM protection ESD diodes.
I would recommend to avoid turning on the pull-up resistors (I2C bus lines), before turning on the PCA9548, please try to add a delay circuit on the pull-ups voltage so the PCA9548 is turn on before the I2C bus.
When power is applied to VDD, an internal Power-On Reset (POR) holds the PCA9548A in a reset condition until VDD has reached VPOR (1.7V). At this point, the reset condition is released and the PCA9548A register and I2C-bus state machine are initialized to their default states (all zeroes) causing all the channels to be deselected. Before the registers and I2C-bus state machine are initialized, the channel selection can be unknown, reason of why it is not recommended to supply the pull-up before turning on the device.
Regards,
Jose