Skew is an important concept, but unfortunately, it’s hard to quantify.
The most accurate battle-predicting statistic that I know of is to add up your starting punch, plus your punch after taking 1 hit, plus your punch after taking 2 hits, etc, all the way down to when your force is wiped out. For instance, if you have 2 inf 2 tanks attacking this statistic would be 8+7+6+3 = 24; for 4 inf defending it would be 8+6+4+2=20. This statistic shows the advantage of skew. Also, it can account for attacking transports and/or the “free” hit on battleships; for example, an attacking force of 1 BB 1 tran would have 4+4+4=12. Unfortunately this takes a while to calculate, especially for medium- to large-sized forces.
If there’s a faster way to calculate skew, I’m not aware of it (but would love to be!) Punch and count can be calculated much faster. Based on these, the most accurate predictor comes from multiplying punch times count. Punch times count tends to be a pretty good predictor unless the forces are highly skewed; for unskewed to moderately skewed forces it will pretty much always tell you who’s favored. In most situations the way that I account for skew is just by noting that it’s there and mentally saying “ok, this side is actually a little better than the punch and count would indicate”.
Then of course you can always do the expected-outcome calculation where you run through a battle in your head, and for each round assume each side gets the expected number of hits, and see what happens. The nice thing about this is that it does account for skew, plus you can do it reasonably fast. Unfortunately the round-off errors can pile up, but it’s still a decent indicator overall.