Disagree emphatically. None of the issues with overworld enemies you mentioned need to exist if the developer doesn't want them to.
Unavoidable enemies on the overworld? Unless they're gatekeepers for a higher leveled area, that just a dick move that imo makes having overworld enemies more or less pointless, and is bad encounter design. If being able to simply run around them is not enough, provide a means of stunning for easy getaways like in the 3d Personas, perhaps also giving you a minor advantage if you do decide to fight. And/or the game could provide a readily available means of just charging through encounters, like the horse in Dragon Quest XI. Speaking of DQXI, if you're overleveled enough for an area, enemies start running away from you. Earthbound does this too, but goes one step beyond, because at that point touching enemies can mean you just win without even having to fight. Over 25 years ago.
Needing to zone in and out because you cleared an area is also easily avoidable by having enemies just respawn, either over time, or when you've moved far away enough and broke line of sight. If that is not enough, provide a means to repop a zone, kind of like bonfires in the Souls games. The classic Tent item could serve this purpose, perhaps dividing it into two variants, one which heals and repops, and an improved one that simply heals.
Anyway, opinions may vary, but in mine, any decent use of overworld enemies is better than even the best use of random battles. I fight when I want, wherever I want, and usually also whatever specific enemy I want. The only implementation of random battles I actually like is in Cthulhu Saves The World. Encounter rate is lenient, do a certain amount of battles in an area and random encounters stop, and then on you can simply start a battle whenever you want from the menu (well technically, you could do this from the start).