I wouldn’t consider them weak at all. Any unit with a halfway decent base range can pick up a crossbow and be extremely effective (+15% accuracy), while the bow requires several levels and 60+ ranged skill to see any serious damage from the user. I can hire a brother and give him a heavy crossbow and he becomes a major threat with next to no training. The graphs are nice, but they only track damage under controlled circumstances that don’t exist consistently in game (always assuming a hit). The fact is that before a brother is heavily trained in range, the crossbow easily compensates for the single shot capacity by its higher accuracy. It doesn’t matter if you can shoot twice with the bow if each shot has 15% to hit and both fly wide. The strength of the crossbow is its easy usability. Between that and the fact that it always boasts superior armor penetration, it is a strong weapon that stands on its own. It may not get three kills in a row, but I’ve seen quite a few rounds where it’ll get a killing shot on a unit, trigger berserk and fearsome, and get a killing critical shot on a fully armored enemy.
Crossbow is not weak at all. Nothing to be sneezed at.