Do this:

I am assuming that the stupidly predictable AI will charge all three generals at you as their opening move. Meet the charge with one unit of hastati (unless the experience difference is too big, then you might have to use two); have 4-5 other units behind the one taking the charge (have ALL of your cav hanging close by too) and leave rear hastati on "fire at will". Hopefully your 4-5 hastati behind the one unit being charged will get off all their pila before the scarificial unit breaks. When this happens, charge in all 4-5 hastati AND all your cavalry from opposite directions. Try to kill as many as possible before they route; DO NOT follow, their main force should be close at hand now, but make SURE the 6-7 star general goes down. If he doesn't die in the pila storm and the charge after, send ONE equite (your weakest one) to chase him down. If he does not die and you're saying the Gallic army has both experience AND weapons/armor superiority to your army, you will lose. Probably bad (which is probably what happened, eh?).

Quickly rearrange your army into whatever formation you like, except you're going to overload ONE of the flanks, and leave the opposite flank weak. Keep all your cav on the weak flank (you will need your general there for moral and cav support).

Use your hastati units with least amount of pila to hold a SHORT front opposite the AI's weaker flank. Again, I am going to assume the insanely predictable AI will move all of their men on their other flank to attack your weak side, while attacking on a broad front on the strong side. Keep as few units of infantry to hold their troops and have all remaining pila-armed hastati throw pilas until they're out, and then sidestep into flanking position. Then charge all units on the strong side and start rolling up their flank.

Meanwhile, your weak side will be sorely pressed by the Gaul's lesser troops. Repeated charges by your cav should break the first couple units as they make contact with your infantry, and the rest should route if their general is DEAD.

If they have any remaining cav running around, see where they attack, and then match their movement with your own cav.

That should do it.