it's quite obvious that they planned to have per-agent action sets, but for some reason they scrapped the idea without even removing the code
That is a pity.
On the animations, it's puzzling; the animations specify explicitly what state they blend to, so I'm not sure that was the catch. I honestly think that it's just that Races were constructed rather ad-hoc in various parts of the code, and they never saw any need to make it flexible.
For example, header_skins is where most of the data should go; references to walk sounds, the particle effect if walking on a "dusty" surface, other sounds and particle effects, what color is used in vertex colors if the Agent is wounded or does damage to others in hand-to-hand combat, etc., etc.
Yet the data isn't centralized there at all; it's scattered all over the place. It honestly feels like they added data to the engine as they realized they needed it, then never went back for a second pass on the code to make it all modular and to make each Race a nice clean set of references. Insofar as this was ever done, as in facial morphs and the like, it is built like it should be, but it's disappointing how, instead of a Race being a nice collection of references to data defined elsewhere and control parameters, some of it operates that way and some of it is entirely hard-coded and can only be disabled by omission or changes to parameters.
I understand that they were probably in a hurry and just stopped messing with that once it worked, but it's not where I would have considered it done yet; I feel very strongly that organization helps keep future features cleaner, and it would have been nice to have that on hand for future uses of the engine. I mean, if it wasn't for silly things like this, the engine would be a lot more general-purpose, and I'm sure somebody would have pitched a fantasy title using it to Paradox by now. I have no idea what a spaghetti mess that is on the engine side, of course, but it's probably not too awful at this point and adding some additional data references to module_skins so that making a race with all of the essentials working properly wasn't very difficult.
But they just wanted humans, male and female, so there you go.
It's a really annoying limitation when it comes to weapons, though; there are a lot of weapon types and fighting styles I feel can't be animated properly due to this issue, and experiments in that vein have led me down a lot of blind alleys. It's really a pity that you can't establish an explicit relationship between X animation set and Y weapons in the header files, where X can be a new group of animations. I just looked everything over for the nth time, though and it really does appear that the engine calls this stuff by number and doesn't allow for new ones, which is why we're not allowed to modify the core animation order.