From my experience with Piratez, and to a lesser degree also FMP, a big problem is that the AI cannot use weapons with limited range. This is rather sad, since you can't give the AI weapons like flamers or throwing knives and expect them to use them effectively.
I think overcoming this limitation would be fairly doable, though I don't know if it really is. The idea to implement would be:
1. Add one more check whenever an AI attempts to shoot a weapon. It checks if the weapon has limited range or not; if not (like most ranged weapons), then nothing special happens.
2. If the weapon has limited range, then the game checks if the target is in range. If yes, nothing special happens; if not, see point 3.
3. This actually requires some AI coding, but it's more or less the same as for aliens with melee weapons (which work). Essentially, the only difference is that instead of going straight to an adjacent square, the unit checks for distance after each step. If it is within range of the weapon now, it goes back to normal shooting; if not, it makes another step towards the target. Repeat until the unit is in range or it runs out of TUs.
Yankes, do you think it's relatively easy to do?