This may sound like a huge revolution, but I always thought it would make more sense for groups to simply have more attacks rather than higher base attack strength or defense values. Ie, you'd make multiple rolls to damage at the same time and add the damage of each of them together.
ie:
attack = base weapon damage (doesn't vary much) * (experience + weapon enchantment + str)
defense = armour * experience factor * dex
hp = base * squad size * con (the base would increase slowly with levels for heroes)
attack rolls = 1 per squad member, or gained by traits for heroes
So you'd multiply the damage for groups, but only after the rolls were made individually. 10 x 1hp of damage still isn't a lot. That way, it doesn't matter if you have 1000 spearmen if none of them are individually strong enough to penetrate the dragon's hide. The range of damage would be about the same, but weighted much closer to the centre (so less variability).
Multiple attacks could only be made against other groups or large monsters however, so you'd gain a lot less from your group size when they attacked individuals. Perhaps the max number of attacks = (your unit size + enemy unit size +1)/2
Heroes would get their value in having much higher experience and attribute values. 1 Defence isn't a lot when the whole unit makes one big roll with 80 attack against you, but it IS a lot when 10 guys with 8 attacks each have 1hp removed from their rolls, for a total of -10 damage.
This is how stuff like warhammer works. You get 20 dice to roll if you have 20 guys, which means 20 x teh damage against other troops. But because they're rolled individually then it's possible for numbers to become pretty useless in certain circumstances.
The value of weapon TYPE should be in determining the units role in combat rather than attack strength. Ie, spears should get first strike because of their superior range, but unable to counter attack against attackers from the flanks.