They're very strong obviously. In the context of Attila's actual balance, where cavalry dominate and warp the game around them, ranged units are almost perfectly balanced. They're an imminent threat to cavs and thus shape the battlefield around them. Skirmishers having bonus vs cavalry on their projectiles makes them uniquely threatening in exchange for their low range and friendly fire means you have to do more than just point and shoot.
If I had to be critical:
Missile block chance being a hidden stat is terrible because it makes it unclear what shielded units are good for tanking ranged fire and screening, and which ones have only superficial protection.
Ranged cavs shouldn't have so much ammo AND be faster than light melee cavalry, and giving literally every ranged cav parthian shot was lazy. The standard answer to ranged cavalry is just to run them out of ammo, which is boring and uninteractive but the game doesn't really present you with any other viable option
Similarly, infantry missile units having the same movement speed as light melee infantry seemed like a poor choice. It makes ambushing units like Preventores kind of worthless and forces you to use cavalry to actually kill ranged units--and it doesn't really make sense for undisciplined levy archers to move in formation as quickly and efficiently as highly trained scouts.
Cavalry with high missile block chance was a poor choice because it just lets you pay to trivialize ranged threats. It's especially stupid when you have things like those white hun archers with tower shields because dlc.
Overall I think ranged units were implemented better in Attila than in earlier and later TW games. I liked that missile block chance made them generally not threatening as a first-strike force against infantry but still allowed them to be incredibly threatening when flanking. FF makes you think about positioning and their high lethality vs cavalry made battles fast paced and highly mobile, which was good.