I thought about two things today (finally had peace at home so I could do an amazing thing: THINK!
1) about the ammo problem: it could be an incentive to swap the party members who fight. I am not sure yet how Anima wanted to handle this, but in the first game all your party members were available (unless for plot reasons) and you could select 4 out of 8 that would take part in the fight. So, if we allow the same thing, the ammo problem could be solved this way, each soldier carries an amount of ammo, so you would have an incentive to swap the soldiers between battles. Depending how the inventory is implemented though might be very simple to swap weapons/ammo between party members. Another idea was that if a party member is down in the battle, beside resurrecting him/her you could also choose to swap him/her with one of the other ones in "reserve". It might be also cool that in practice there was NO WAY to resurrect a KO player, except replacing him/her with the backup, and meanwhile he would get healed every turn. A bit like tag-team fights where the non-fighting characters slowly regain HP/PP
2) unavailable characters and max health damage: another idea, probably good only for the "iron mode" was that after every battle, each character would lose HP and PP based on how much hits they take and how much PP they use, to simulate injuries/fatigue. It would be another reason/incentive to rotate the party roster and not always use 4 characters through the whole game. Of course after each mission they would recover the full HP/PP.
those are just two random ideas that I thought to post to get feedback, but if they're horrible feel free to say it
I think balancing around ammo not regenerating after each battle would make it pretty challenging, since now you have to balance the entire mission as a whole for ammo consumption, and there will likely be a lot of variance in that (someone who's good enough to get by an early fight with little ammo probably doesn't need the ammo in the later fight as much as the person who has to use a lot of ammo to get through the first fight). Likewise for permanent (at least over the mission) resources; I don't know that you want to make it mandatory to rotate everyone each mission. Also, it'd feel like you had to save your 'A' team for the boss, and had to slog through the minions with a less than ideal setup.
I think a character swapping mechanic could be pretty good, though, and could indirectly address item space limitations if you could rotate back-up characters with specific roles without too much penalty (like the guy who specializes in fire against enemies vulnerable to fire). This would also help mitigate the penalty of not being spoiled (e.g. knowing beforehand you need the fire ammo), which is also pretty good. Also encourages specialization and the value of narrow application items and abilities, which I think is a good thing.
I don't think it's really necessary for the inactive players to regenerate though; if you had to manage the inactive players every fight, it's not really much different from having everyone active anyway. A simple but possibly sufficient solution might be to allow one swap; maybe a second if you have the initiative or zero if you're the one surprised (but if swapping was allowed at all, I'd make zero-swap situations pretty rare and/or telegraphed beforehand, as it would likely have significant impact on strategy). Alternatively for a more general approach, allow players to have less than 4 people groups; any empty slot would have an action with a moderately long usage time to 'call up' a reserve member; if an active character is disabled, or uses a retreat command, his slot becomes empty (and thus open to another 'call up'). Somewhat more complicated, and you'd still want to limit the usage somehow (e.g. once you retreat/disabled, you're done for the fight). The main downside to this approach is again whether or not this is sufficiently differentiated from having the whole party there.
Yet another possibility - you set up your 'lineup' beforehand, and each of the four positions is assigned to specific characters. For example, position A might be occupied by character 1 and 3, and while you can swap between the two, you can't have both at once (since both are assigned to position A); this provides a pretty flexible swapping mechanism but still differentiates it somewhat from just having everyone there. Other pre-formed groups could also work (e.g. everyone has a partner, and pairs get swapped in or out).