>>54943910100% agreed
if I ever get around to making my ideal romhack there'd be just a few trainers of each trainer class spread across the various routes, probably 10% as many trainers as in the base game, and each one would have a more unique personality/strategy/team make-up.
each one could be rebattled and they'd learn who you are and have a number of unique lines each which give you a picture of who they are
they'd catch and train new pokemon over time and the better trainers would even have more than 6 (eventually) which they'd rotate as they pleased so you wouldn't necessarily know which pokemon you'd be facing when you went around to rebattle them
and they'd have different battle preferences. some people would want an even battle, maybe just three of theirs versus three of yours. others might prefer double battles. criminals wouldn't follow any rules, so grunts and cueballs and other ruffians would literally send out all of their pokemon against you at once, but you could do the same and overawe them.
also they'd have a schedule. hiker joe might spend 6 days a week walking around union cave but on sundays he'd head to the nearest town to stock up on supplies
schoolkid arin would only be available to battle for a few hours after school when he'd head to the park, except on weekends when he'd spend all day training
etc etc
traveling trainers could be see in different places, on their own journeys.
and battle hotspots like the frontier wouldn't only have generic trainers, but could also have familiar ones. they might say "hey gold! what a coincidence we're both at the battle tower!" etc etc
for bonus points each trainer getting a unique sprite (probably based on existing ones. so if there were 9 lasses you could meet in the game, each could look like the lass from a different generation, etc) would further boost the effect