Most piercedamage units add arrows based on their dps to garrisoned structures. Add up arrow damage (properly calculating secondary arrows since a 2021 DE patch), divide by reload interval to get dps, and divide total dps of all garrisoned units by the dps of the structure’s secondary arrow.
Villagers and Teutonic infantry with Crenellations currently get credited for 2.5 dps, or one 5damage arrow in 2 sec, which is a TC or Watch Tower without upgrades.
Proposed changes:
 Buff to villagers: give villagers credit for arrow upgrades, so a villager from a civilization with Bracer and Chemistry researched adds one arrow to a TC that also has Bracer and Chemistry. Instead of 10 villagers in a TC adding 5 arrows (rounding 5*10 = 50 down to (5 arrows * 9 damage) = 45), they would add 10 arrows.
Consequence: defense against raids is a little better in late game; idling farmers is a little less effective because garrisoned TCs better at killing raiders; games could last longer. But it still takes 9 volleys of 10 arrows to kill a fullyupgraded paladin.

Changing damage calculations to buff skirmishers and Feudalage Archers: Calculate dps as maximum(damage per hit, TC arrow damage) / (reload period). Result: feudalage Archers add 1 arrow to Watch Towers and TCs (up from 0.83 arrows with Fletching), while Skirmishers with Fletching add max(2+1, 5+1)/3 = 2 dps, or 2/3 arrows, so 5 skirmishers in a tower would add 3 arrows (up from current 1 arrow).

Make Celt unique technology Stronghold not reduce the number of arrows fired per volley: Stronghold makes towers and castles fire 33% faster, which alters their damage calculation for number of extra arrows: one extra arrow also requires 33% more dps of garrisoned units. Change it so the number of extra arrows doesn’t change. (Whether for this technology specifically, by providing this extra benefit, or for all effects such as scenario triggers or data mods that increase building attack speed.) Extra arrows already have the disadvantage of delaying the start of the next volley of arrows, reducing the marginal benefit of each garrisoned unit even without overkill from a targetted unit dying while many arrows are in flight.

Buff damage calculation for Teutonic infantry with Crenellations: currently these get 2.5 dps credit, same as villagers. 20 Teutonic Knights with crenellations garrisoned in a Teutonic castle will add 7 extra arrows; if ungarrisoned, these units could do (17+4)*20 = 420 damage every 2 seconds, but instead they add 98 damage of arrows every 2.5 seconds or so. If we gave Teutonic infantry full credit for their dps, Teutonic Knights would add 10.5 dps, while even Chu Ko Nu only add about 9.2 dps, so it may be best to just keep their damage the same as a villager. Since Teutons lack Bracer, that would be 4 dps with full upgrades (up from 2.5 dps current).
Should garrisoned arrow calculations be changed?
 Keep it how it is
 Buff villagers, but not skirmishers, Archers, or Strongholds
 Buff villagers, skirmishers and Archers, but not Strongholds
 Buff villagers, skirmishers, Archers, and Strongholds
 Buff villagers, skirmishers, Archers, Strongholds, and Teutonic infantry with Crenellations