Human Musketeer is a Lvl 3 unit (Ballista is Lvl 2, thus requires fewer upgrades and less time to produce) that costs 45 gold to produce (OK, Ballista costs 64, 19 more) and upkeep is 8 (for ballista it is 6). Ballista has 2 more HP than the Musketeer (7 vs. 5). It becomes less severe with level-ups, but because Ballista is Lvl. 2, it requires less XP to level up.
Shoot Javelin ability, as you can see in the table I have made, deals around 1.5 times more damage per round than the Fire Musket ability. It becomes worse with time because Ballistae level up faster, requiring less XP and inflicting more damage.
The only real reason to produce a Musketeer, as I see it, could be the move points: it has a speed of quick infantry (28), while the Ballista has a speed of a machine (20), which is very slow. However, if I want speed, I have Human Cavaliers available in the same race on the same level.
So, Is there any reason to produce Musketeers?.