Before Aerith's death:
Cloud
Aerith (weak physically but useful limit breaks & magic stats)
Yuffie / Barret

Random battles:
Not definite. Cloud is a must nonetheless.

Boss fights:
Cloud
Yuffie (as a medic)
Barret (though he has extremely low agility but i overcome that by morphing 1 of the monsters in the sunkern plane (i cant recall) into speed plus. If i'm not mistaken the one that uses 'tentacle' attack..)