There has to be a balance. You should always be afraid of failing, otherwise there's no tension, and for that you need a random element.
HOWEVER, you should also be able to minimize the risk through actions.
The Era IOT combat system attempts to balance these:
First, each side's units are added together and their Strength is totaled(Air units are calculated separately if assisting a land or sea battle, then the results are added to their total strength later). Then, any bonuses, traits or generals are factored in and the final number is established. After that, I add the two numbers together, and perform a best-2-out-of-3 RNG.
So, for example, two forces attack each other. One has three Guards, or 12 strength, and the other has 2 Guards and 3 CAS, which is 8 Strength of land units and 3 for air, making the total 11. Add that to the enemy strength and the RNG is 1-23. If the RNG lands before 13, Side A wins, and if it lands after, Side B does. Repeat this until one side has two victories.
After this, casualties are calculated. The losing side can inflict 50% of its own strength in damage, so here an RNG of 0-6 assuming Side B won. The winner can inflict up to 100% of his own strength, so here 0-11. Casualties are removed according to how much Strength the enemy destroyed. The only exception is that the winner must preserve at least one unit, otherwise they aren't really the winners.
The "best 2" system makes this useful for showcasing how superior forces usually win, but also supporting a random chance that even the smallest of forces can stand off an army - though they won't deal much damage.
It's basically Sone's old SCS, refined a little and without military tech.
-L