For breaking apart maybe it would compare speed of one ship and the health of the parts vs. the health and speed of the other on a mass scale, also possibly hull structure, like how much things connect with each other on each ship, then breaks apart if not enough strength in the weak points. Like armor has say, 600 holdstrength and has holdtime of 10. that would add onto the parts around it . Holdstrength would be the pushing force needed and holdtime would be the amount of time of it being at that pushing strength. it would take an average of thay amount or more to seperate (1200 holdstrength, 5 holdtime, etc) if a ship's energy spent pushing it was more than or equal to the average, it would have 1/10 chance between each part of seperating. Ships with lots of armor spaced out around the ship would keep the ship more secured together.
Different parts would have different holdtimes and holdstrengths, corridor would be weak and armor strong.