For what is the vengeance?
Radak: Pharaoh Necho killed Yoshiyah 1 in Megido. Malbim - Hashem put in their hearts to go to confront Nebuchadnetzar, in order to take vengeance.
Radak (Melachim II, 23:33): Pharaoh Necho considered himself blameless for Yoshiyah's death, for Pharaoh Necho had not come to fight him (he only wanted to pass through Eretz Yisrael). Even so, Hashem avenged him. (Why was he avenged? Pharaoh Necho needed to kill Yoshiyah in order to fulfill Hashem's command to go quickly (Divrei ha'Yamim II, 35:21)! Perhaps he was punished, for they shot 300 arrows at him (Eichah Rabah 1:18), and his body became like a sieve (Sanhedrin 48b). There was no need for this! - PF)
What is the meaning of "v'Ravsah"?
Rashi #1: It is an expression of satiation.
Rashi #2: It is an expression of intoxication. The Targum of Shechar (Vayikra 10:9) is Marvei.
Why does it say "b'Eretz Tzafon"?
Rashi: Pharaoh went to Nebuchadnetzar in Karkemish (which is north of Egypt). Also his Giborim fell and were killed; he fled from the war.
Why does it say "El Nehar Pras"?
Radak: This is like Al. Similarly, "El he'Harim Lo Achal" (Yechezkel 18:6) is like Al he'Harim.
Malbim: It is as if Hashem prepared a slaughter near the river; this was the custom.