I think here comes a rough draft of a pretty simple but totally untested home-rule:
Count all the "hull points" and all the upgrades which can be damaged (some common sense may be needed here, unless you want to allow them all to be damaged).
Then divide the number of hull points by the number of "pieces of equipment", let's name this number X.
Now mark every X-th number in the hull track (eg with a dot or a circle). Each time such a field is marked off (damaged) one random upgrade is damaged too - in addition to hull.
This represents the fact that hull contains all the improvements and damage to hull gradually damages the equipment. The last piece of equipment would be damaged just before the ship gets destroyed.
Example:
Ship has 12 hull points and 2 carrier upgrades and 1 FTL drive.
This means there are 12 points on the hull track, and 3 upgrades.
12 / 3 = 4
Every 4th field in the track would be marked.
So we've got: 12 11 10 9* 8 7 6 5* 4 3 2 1*
When the 9th number is marked off, you check randomly which upgrade is damaged. There are 3 of them: 1st is a carrier deck, 2nd is a carrier deck, 3rd is a FTL drive. So I roll 1d6 and count 1-2 = the 1st is destroyed, 3-4 = the 2nd is destroyed, 5-6 = the 3rd is destroyed.
I roll a 4, so I lose a carrier deck.
The next equipment piece would be gone at the 5 on the hull track.
Pretty easy, not perfect. But doesn't make ships any more durable, doesn't create a damage buffer. Just needs some flexibility with rounding of fractions and randomization.
What do you think?