About the back and front row... this is just a side idea from someone being up way too late.. but:
How about having a random / location determined number of back and/or front slots, so you can't allways have as many as you wish in front / in cover?
(The back row would obviously represent cover, which may or may not be sparse). This would have the advantage of forcing the player to vary his tactics a bit, especially if some abilities (sniping, healing, support? etc.) are interruptible, more effective from behind cover, etc. while some like grenades or suppression fire would be more effective against targets in cover.
In desert or plains areas cover would be sparse, while in warehouses, forests, hills, etc. it would be very common - this would lend a certain amount of predictability to it so if the player thinks about equipment and party choices ahead of time, they are likely to do better.
Anyway, looking forward to more on this one.