To calculate arc, you need trigonometric operations and those cost sometimes too much to use. Ok, you can use predefined tables for those and so on. However I think they have done something different in mtw2. Archers just shoot to direction where enemy is and they use some predefined angle. When arrow is on the top of arc it calculates rest of the arc. When arrow is close enough to really hit something game applies collision detection for em. I am not sure when does it really do the calculations about the collision point on the ground. Maybe when it is on the top of arc? You could test this by screwing you horse unit that it is scattered around the game area. Then just stop them and wait for enemy archers. If arrows change their way vertically, its on the top of arc if not then it is after they release arrows.

'One point' collision detection doesn't cost too much to use even on bigger scale. I have done this one by myself. Its easy and fast to do with Gauss-Jordan method. Barycentric is a bit harder to do, but its even faster. Next thing to do is console and collision detection for pill shaped object... Oh, forget those last lines. I was just babbling about my 3D engine. ^^

Btw, theres also one bug with ranged units. When they have taken their target and start animation they will shoot that target even if it would be out of their range. If you wish to replicate this, use fast horse unit.