IVs have always been a big thing in pokemon and can make a difference between living with 1 hp or losing.
I can see that there was a IV reset button already in the game. Maybe a rare item or NPC can be found to enable it for one use. However, I don't think this would be the best way to do it.
Here are some other ideas:
A quest that unlocks a building with a special NPC. Talk to him for special training to power up one IV stat of your choice on a single pokemon. Can be used once every 7 amount of days.
- Available to all players
- Simple and easy
- No RNG
- May take possibly weeks or months to max a single IV stat depending on starting point.
An NPC that sells special vitamins that restock every 15 days. Similar to how the actual vitamins raise EV, these one raise IV by one instead. Not sure what good pricing for something like this is, but I would say 50,000.
- Requires a good amount of money which require more effort
- No RNG
- Can raise all IVs at once every 15 days at a high price
A boss battle that rewards a special vitamin. Maybe around Brock's difficulty. Resets every 3 days.
- An actual pokemon battle
- Can be seen as training to power up your pokemon
- Random vitamin rewarded
That's all I can think of right now. Of course, these could be changed around to what seems best for the game. Resets could be shorter or longer and the stat given could be changed to random or not random.
Please understand that this is suppose to be a secondary approach besides hunting, not to replace hunting. It's suppose to be a more reliable way of obtaining good stated pokemon, with the tradeoff of being much longer. It's still pretty much a requirement to hunt to get a good start off point to boost these stats. A pokemon starting with an IV attack of 23 would obviously take weeks longer than a pokemon starting with 28 attack. In other words, it should be used in combination with hunting. If a player gets too unlucky then they can just save up stat boosts overtime.
Feel free to leave your own suggestions. Just a note, I believe having a cooldown on something like this is important to keep the game balanced. Without a cooldown, everyone would be running around with perfect pokemon on day 1 when it should be taking weeks and months to perfect a pokemon. Maybe even a whole year!