Make each city have more to do- that you have to do. What if there were two or three 20-30 minut miniquests you had to do before the Gym opened, for example? You get to have more content, avenues, and fun.
The clock: The game should start in the morning, time advances normally, and when you save, it advances time 8 hours. Why? Because I have a job at night and can't catch certain types as is, but if the clock was based on Sinnoh time an not my time, then that' be cool. Or at least an option.
Also, more to do with the trainer. Have Trainer styles and personalties reflect on the Pokemon and how they fight. Or maybe when you save, if you are out in the middle of the woods when you tun the game back on you are attacked by a Wild Pokemon that gets the first attack. Or maybe have a feature wher you can buy camping supplies for when you save that do certain things like heal all Pokemon X HP points, or increase/decrease chacs of finding Wild Pokemon(You can see better.)
Make the average trainer you face harder. The more I screw around, the bette my foes should be. So if I come with six Pokemon lvl 20, I should still win but instead of him using three lvl 9s they will be like three lvl 17s. If I face a guy with just one Pokemon, his Pokemon's level will be higher than the highest one I have. So you see, you make the game more strategic as there re less cupcake trainers.
Have trainers change up their Pokemon depening on oth the version of the game, how many tmes you've faced them, and what runthrough you are in. If I am facing Bug Catcher Paul for the second time on my second run through, then maybe only 1 of his 3 Pokemon wil be the same. This makes almost every fight, even on many runthroughs, different. Couple this ith my previous idea, and every tim you play the game is different
hmm i kinda like all of those thing ur talking about