So here's another possible way of doing this without major rework of the underlying database. Using the militia example: currently when you produce a group of militia, you get 'party of militias'. Here's another way of doing it without needing a plural field in the database (or whatever you're using) - just switch the text around: 'Militia Party'. Voila!
It works for nearly all iterations: 'Watchman Army', 'Militia Group' etc.