This is my proposal and dicussion on how this could be done since it seems Walt is uncertain about how to realize it. And hopefully, will make it transparent to the community (and reduce repeated idea spamming).
First off the total kinetic impact energy has to be determined on contact using both ships' mass and collision speed which is their combined relative speed. It would be nice if real world kinetic energy equation is used for realism. But I do realize for game purposes it might be more useful and convenient to use a simple equation.
So instead of KE = (1/2) M v2 it could just be KE = (1/4) M v where M is mass in kg and v is velocity in m/s. In this example KE would be high but still not enough to disintegrate a ship as it would in the real world.
The question now is how to apply it. The impact forces work on equally on both ships (Newton's Third Law). So the KE should be handled as a damage pool to be applied to both ships. Parts that are in contact, hence, impacting, their health is subtracted from the damage pool. If the part's health gets down to zero then it's destroyed. This means until the damage pool reaches zero pretty much all impacting parts would be destroyed.
In this case, the task could be simplified by having the game pre-determine destroyed parts with recursively checking off parts in the impact direction (width of ship=path through the other).
Otherwise, the game would have to re-order the ships' shapes after each round and keep determining the next impacting part etc. It would be extremely lagging but accurate and could simulate a ship cutting through. The cutting ship has to have more parts left on the ramming path, though. I think the damage pool does not have to be used up. It only has to be used as long as both ships are colliding each other.
The remaining problem is how ships should push each other out of the way while colliding. I think in this case the existing mechanics would be the same as before when ships collide. But perhaps to a lesser amount to help ramming and back to normal when parts are no longer impacting. The remaining damage in the damage pool would just be dropped.
If there are other aspects or problems feel free to point them out.