You seem to have identified the problem and the solution. I'm not aware of any alternative solutions, but I don't see any reason not to use the solution you already know of.
Intermittent Ethernet connectivity problems don't strike me as a good reason to reset the Arduino, by the way.