Hannibal was able to use his mixed army with great success for what I think are two reasons. First, he has a good mixture of forces at his control, and second he was a military genius. Years ago, I read Tony Bath's Hannibal's Campaigns, which is perfectly written for a wargamer, taking care to detail the armies and battles very nicely. Another great source is Warfare in the Classical World by John Warry. Warry has an informative chapter on the Punic Wars, but really there are a ton of references and resources out there on this rich period. Both books, and a library of others, can be found at Amazon.
Thomas gives a good army list for Carthage, showing the variety of troops. There are enough Infantry units to have a battle line, supported by elephants, and a variety of cavalry and skirmish infantry.
1-3 units African Infantry (heavy infantry, light armor)
1-3 units Gauls/Spaniards (Warband, light armor)
1-2 units Skirmishers (light infantry, javelin, light armor, Levy)
0-2 units Elephants
1-3 units Numidian Cavalry (light cavalry, javelin, light armor)
1-2 units Gallic/Spanish Cavalry (heavy cavalry, light armor, Elite)
The Infantry units are respectable, and the elephants present a choice. They are a tough foe for the Romans, but since they are one stand units, they will crumble fast. The skirmishers and Numidians are extremely useful, but won't win a battle on their own. And the same goes for the Gallic horse. This is a tough army to run since we aren't all Hannibal Barca, but it does present some problems for the Roman player.
The Roman army, however, makes up for a lack of diversity, by having some heavier units.
4-7 units Hastati and Principes (heavy infantry, medium armor)
0-1 units Triarii (heavy infantry, heavy armor, Elite)
1-2 units Velites (light infantry, javelin, light armor)
0-1 units Roman Cavalry (heavy cavalry, medium armor)
The Velites will win man-to-man and unit-to-unit vs the Carthaginian skirmishers, if he can close. The Roman Cavalry will probably fare poorly vs the Gallic Cavalry. That leaves the impressive battle line Infantry. Can they withstand both the elephants and the warband? The triarii are a luxury item, but taking them leaves little room for support troops. It comes down to a matchup pairing the discipline of Roman Infantry, vs Carthaginian finesse.
As mentioned, there is a second version of each army(Carthage and Rome) representing the period of fighting where Rome grew much more aggressive, strategically. This was under the command of Scipio, when he pushed the war out of Italy and back to North Africa.
At this time, the Gauls were beginning to lose some faith in their Carthage allies, so the list represents a situation where the Gallic (or Spanish/Iberian) soldiery was still willing to fight for Carthage (promises of pay or booty), the Gallic/Spanish Cavalry is no longer available. Perhaps the Nobles sensed a futile effort? They were willing to fight in Europe (Italy), but reluctant to go to Africa?
The second big change is that the majority of the Numidian now saw the situation as being allied to Rome, a better deal than Carthage.
Finally, to reflect the hardening of some of the African Infantry, there are now some proper veterans n the army, fighting as an elite cadre.
To reflect these changes, change the two cavalry lines on the Carthaginian army list, to the following three lines:
0-1 units Numidian Cavalry (light Cavalry, javelin, light armor)
0-1 units Carthaginian Citizen Cavalry (Heavy Cavalry, Medium Armor, Elite)
0-1 units Hannibal's veterans (heavy infantry, heavy armor, Elite)
The Romans, after years of fighting Hannibal now have a different mix of troops, which includes their new comrades the Numidian, these changes occur.
Reduce the number of Hastati and Prncipes units, to 3-6 units.
Numidian Cavalry are now available (light cavalry, javelin, light armor) 1-3 units
With these changes, the later battles of the war can be fought.