Figured I'd throw in my 2c.
I like tetris systems. Loved them in Diablo, X-com, UFO:AI, in fact every game with them seems to be good. It's the micro-managey part of me coming out, that likes packing as much useful crap into the available space as the system allows. That said, I sort of thought that's what you'd like to avoid in JH.
So a few thoughts/questions:
Rather than specific types of ammo boxes, could you have generic ones, ammo pouches, with more being unlocked with traits/items? You can change the load-out of what ammo your pouches take as you want, but you'll still be ammo (and in a sense, weapon) limited. It would give another level of customization to characters. Want a shotgun based character? Then all three initial pouches get set to pickup shells. Want a versatile one? Then 9mm/shell/plasma might be a handy loadout, but you'll have less total ammo for each type of weapon than the shotgun-only build would have. They'll undoubtedly be more common than specific boxes would be, but more useful as a character boost. Getting more pouches means more ammo for a specific weapon OR more versatility, but not both. Yet you can change what ammo they take on-the-fly should opportunities or circumstances dictate. It also gives you a weapon/sustainability/build progression option, without ever letting a "juggler of DOOM!" scenario come up (or having piles of ammo from the first few levels just looking for a use). It's limiting, but it lets you limit power-per-area fairly effectively, without forcing the player into a set character type. Of course, different ammo is larger or smaller per pouch used (similar to DoomRL's slot system). 10 rockets, 50 shells, 100 9mm for each pouch as an example.
When your character changes ammo types in any pouch, they literally will be throwing the ammo from that pouch away. Hopefully in a manner that will never let the enemy use it against them later (it's not recoverable because it's Space Marine Directive #402.4/b to never leave viable ammo around that the enemy may fire at you later. All excess ammunition that can not be stored, carried or equipped is to be rendered un-useable to prevent war materiel falling into enemy hands).
You can reload from lockers any weapon you're carrying, but you destroy any leftovers if you don't have pouches set to grab that ammo type (and have room for it in those pouches). This also gives different weapons of the same ammo type good uses regardless. A 50 round ammo capacity gun may be worth carrying just due to it's "ammo-slot" potential, rather than it's strict damage output. Which is a nice mechanic for uniques and specials. Or alternatively, it gives bulk mods a big side benefit of being able to be used asap (unless there's a specific assembly/whatever you want) for it's slotless ammo bonus.
Pouches could also be set-and-forget. Once you've determined the sort of ammo they take, you can't change it. Again, a balance issue. It'd almost put them in the power-up category, but would remove ammo micro-management entirely. I like the free-form idea more really, but "set-and-forget" is an option.
You could combine all of the above as well. Possibly even have different "levels" of ammo pouch. Some are just shell pouches. Some are big shell pouches. Some are alien shell pouches giving slightly better reload speed. Some are set-and-forget. Some are set-as-you-please. Some are needs-a-tech-mod-to-reset-them. A different form of micro-management, but cooler. Who knows? (yeah, well, chaosforge does, but they tend to). This might be making simplicity complicated, so I'd stick with a generic ammo pouch or set-and-forget for early builds.
(will edit more thoughts in soon. 1d weapon slots and traits, etc)