Plus with the new Repel mechanic in Black and White 2, avoiding Pokémon is easier than ever before.
I had no idea they put that in B/W 2, why didn't anyone tell me?
Anyway, I was thinking they could do it like Ni No Kuni or Persona 3/4.
They could give each Pokemon their own sprite on the map with a 1/8000 (or whatever the odds are) of it being a shiny. Legendary Pokemon would still be in preset positions and rare Pokemon would have a lower chance to appear.
Alternatively, they could just use 1 or 2 generic sprites for all Pokemon, like in Persona 3/4(different ones for forest/cave/water based creatures). That way it's still random what enemy you encounter but you have the option of just ignoring them and exploring instead, without being interrupted by random battles.
Or if they are going to stick with random encounters/repels, then rather than making repel last for a limited number of steps, there should simply be an option to toggle it on/off. As long as it's on you get no encounters, when it's off you get battles like normal. Same idea but you don't have to use a new one every minute