Please note that almost all of these are suggestions, and can be implemented or ignored at your discretion. Any changes I deem necessary for the article to pass GA standards I will bold.
Tunisia and resulted in a heavy Carthaginian defeat "heavy defeat" seems somewhat weird (to me, at least) suggest Tunisia and resulted in a decisive Carthaginian loss, or else Tunisia and resulted in defeat for the Carthaginians, with heavy losses.
Really? Split into two sentences.
, the treaty notwithstanding suggest in violation of the treaty
I am guessing that you are having issues with "notwithstanding"? How would you feel about 'regardless of the treaty'?
Sounds good to me.
Done.
where foraging for food was poor and suggest with limited access to food
I am not actually certain that is the case from the sources. Although I may be dithering over a semantic quibble. How strongly do you feel about this one?
Not very, just think poor is an odd word choice for this.
It now reads "where foraging for food was difficult" per your suggestion below. That any better?
Africanus imposed I think Africanus should be Scipio, as Africanus is an Agnomen? Usage is inconsistent in his own article, however.
That gives us two characters named "Scipio Africanus". Referring to one as Africanus and the other as Scipio avoids possible confusion. And Roman and modern sources frequently, but not invariably, refer to people by their unadorned agnomens.
and in Africa only with Rome's express permission suggest changing to and within Africa itself only by express permission from Rome
I was about to change this (minus the "itself", what else would Africa be?) when I paused. You don't do something by permission, it's not grammatical - you do it with, or without, permission.
the treaty notwithstanding, counter-attacked the Numidians. suggest ignoring the treaty, counter-attacked the Numidians.
Again, how would 'regardless of the treaty' suit?
Sounds good.
where foraging for food was poor suggest changing poor to difficult
Done, and in the lead. (Although IMO it is stretching what the sources say.)
with no fighting and no loot suggest with neither combat or loot
Done. (or → nor)
last fought him, 50 years before. suggest battled with him, 50 years before. I'm certain there was some manner of local resistance; think "battle" conveys the meaning better.
My phraseology is supported by the sources. I don't mind changing it, but "battled" sounds awful. You got another suggestion? (There may have been "local resistance, although the sources are silent, but this seems to have been the first time Masinissa took the field against the Carthaginians, which is what I am expressly stating - "fought him".
I suppose; struggling to come up with a better suggestion.
Me too, without being longwinded. I think what we have may be the least-worse option.