I think the only way to get that kind of variation is to make different items compete for the same item slot, as you mentioned. There are a few opportunities to get some big differences though. I have troops that mix bow and crossbows, the weapons compete for the Item1 slot but every troop carries arrows and bolts, this way they won't be left without ammo by randomisation. The most noticeable items compete for slots, and the troops carry some redundant items. E.G. if you wanted some troops with a high tier glaive but some with lower tier swords and shields, make the glaive and the shield compete for Item1. Then give every item set a sword in Item2. The shieldless troops will prioritise the glaive and you'd hardly notice their sheathed sword.
If you want to do it perfectly just make entirely separate units. I think you can even give them identical names. Their character IDs would have to be distinct - they wouldn't work well in troop trees.