When Ship A has ten times the firepower as Ship B, there's no plausible way to write a script calling for a long space battle between the two. The audience would be logically thinking "why doesn't Ship A just blast Ship B out of the stars?" A good example of how bad that is can be seen in Generations. Anyone casually versed in Trek tech knows a Galaxy class ship would utterly crush a Klingon Bird of Prey, shields or no. Yet that's not how it turned out on screen-But we got a long space fight out of it!
In the case of STID, I don't think that's so. Scotty was aboard the Vengeance,
so he could have done whatever sabotage was necessary to even the odds. In fact, he did, though the Enterprise
couldn't fight at that point. Giving the Enterprise
the ability to fight would have fundamentally altered the rest of the film, though.