A simple, cheap, and unglamorous solution is to simply put culverts under the highway at regular intervals, open at both ends. Culverts come ready made in all sorts of sizes, just dig a trench cross-ways and drop it in during construction or repaving.
Highways tend to be above grade anyway, so the openings of the culvert can be above grade and it won't fill with water.
Of course, this does not preclude having a fancy forested overpass here and there as well.