They do kill specials with ranged weapons. Quite a lot in fact. The quirks of the bot AI can stop them from doing it under certain circumstances though.
I haven’t seen the code, but from watching the bots, they are task-oriented with a priority based task queue. For example, if they are attacking, they are not blocking, dodging, or anything else. Only 1 task at a time, and they only swap when the prior task is completed. Blocking seems to have the highest priority of all tasks, and will cause them to be “block locked” until they die if they are surrounded.
What happens with specials is that specials get put on their target list, but if they are always surrounded so the never get off of the “melee combat” task. Thus they charge the the special without using their ranged weapon, and won’t stop charging it until they or it are dead.
This means playing with bots requires some particular strategies. 1, give them the highest attack speed weapons you can. Faster Attacks = Faster Task Switching. (1h Sword For Kruber, Dagger or 1hs for Sienna, Dagger+Sword or 1h Sword for Kerillian, Dual Hammers for Bardin) Set up your Merc Kruber bot for Paced Strikes sharing as well. It makes a massive difference, try it. 2, you should always be covering their behinds and preventing them from being surrounded, or they will get block locked.
Do those two things and you should find that bots start sniping specials very reliably.