It is best to enter this battle when Fusoya first joins the party and not after having gone back to the Overworld and switch him for Kain.
Rosa and Fusoya should cast Reflect and other members use any items to cast walls. It is best to cast Reflect on Fusoya and Rydia first, and then cast it on members with the lowest HP. When Bahamut uses Megaflare it will Reflect back onto him. The Reflect wall will only last two uses of the Megaflare, then the player must re-cast it. Recasting it when the Reflect wall is still up will cause it to bounce to Bahamut. It is possible to win the battle by simply allowing Bahamut to kill himself, applying magic only to the player party.
If the party has no Reflect items or Fusoya, winning is harder. Before the battle the player should kill all party members but two, Rosa and another character. This is needed because Rosa is usually the last to take her turn, so by killing off two characters Rosa will definitely get a turn in before Bahamut uses Megaflare and can cast Reflect on herself. If the other member survives Megaflare, Rosa should cast Reflect on him, if not, just leave knocked out. When Bahamut uses Megaflare again, Rosa should re-cast Reflect. The player will still win as Bahamut will kill himself.
The above does work and Porom would also be recommended for she can also learn Reflect, like Rosa and Fusoya. Rydia or Palom can help by casting either Tsunami or Quake, but another impressive feat would be to take Bahamut out with one character - Kain Highwind.
Kain should Jump at Bahamut right between the count of 3 and 2 and he will land right after Bahamut casts Megaflare. The player does not need to bother to revive the other members, as they will not survive most of the time. Eventually, Kain will be able to take Bahamut out.
The strategy of casting Reflect is useless in the DS remake, as Bahamut's Mega Flare pierces reflect spells altogether. Mega Flare is much weaker than previous versions, so with proper buffs and high-enough levels, the party can survive it.
A useful strategy is to quickly cast Slow on Bahamut, and have Rosa and Fusoya cast Haste on the party, then Berserk on Cecil and Edge, unless Cecil is equipped with the Avenger sword. After Haste has been applied, have one of the primary magic users cast Hastemarch with Bardsong, which should give the main attackers near instant turns. Bahamut should fall before he even gets the chance to use Mega Flare once.
If the player waits until after returning to Earth, they can return later and defeat Bahamut using only Kain's jump attack. Bahamut will count down from 5 to 1 before casting Mega Flare and the player will be able to jump with Kain twice per countdown, once after 5 and then again after 1. As long as Kain jumps right after Bahamut counts 1, he will be in the air when the spell is cast and will not take damage. However, if Kain is the only one alive and in the air, Bahamut will not bother to cast Mega Flare. Once Kain comes down from his jump the count starts over at 5. Depending on Kain's level, the player can defeat Bahamut fairly quickly without using any magic or items.