Your argument would be persuasive if the Romans--who were at various times enemies of the Gauls, Spaniards, Corsicans, Numidians, Carthaginians, Egyptians, Syrians, Thracians, Greeks, and other Italians--had leveled the charge of baby-killing against their other enemies. But they didn't. If the Romans were simply trying to demonize the Carthaginians, why that SPECIFIC charge? And why--if it were mere demonization--do we actually find heaps of dead babies in Carthage, but nowhere in Gaul, Spain, Corsica, etc? And why--if it were merely a ROMAN demonization of Carthage--do we find OTHER enemies of the Phoenicians laying the same charge against the Phoenicians, but not against Romans and everyone else? Was the whole ancient world part of a conspiracy to blacken the repuation of the Punic baby-lovers? I don't think so.
Of course it's true that the Romans were liable to spread lies about Carthage, but for the exact same lie to be spread about the exact same people and no others? That seems like a pretty massive coincidence to me.