I realize that weapons and valuables from the dead where looted after the battle, but Carthaginians buried their fallen and its doubtful that local population just let ~ 50.000 dead Romans and their allies lie around unburied making a stench and taking up land, so it seems that in a vicinity of the battlefield there should be rather obvious and massive earth mounds with skeletal remains.
To give an older example, the Battle of Qadesh, the largest land battle in the 2nd millennium BC comprised of about 40-50,000 people, took place at a known place (Megiddo), and has been excavated for about 100 years. Nobody has found any evidence of anything so far. Most people don't understand the difference between what they think should remain and what does remain archaeologically speaking.
There's an interesting essay in War and Warfare in Late Antiquity by Kulikowski where he talks about the disparity between historian's expectations of archaeological reports in contrast to the textual narratives.