Solutions

Based on the three main problems that I identified with Pokémon Go, I am suggesting a redesign of the game to help trainers have a more enjoyable experience.

Bugs

The ideal solution to this problem would be to fix all the bugs. However, this needs to be balanced with continually introducing new events and features to keep people interested in the game. Therefore, rather then trying to fix every bug in the game, I suggest trying to find workarounds to the bugs that affect game play the most.
For example, many of the most problematic bugs have to do with gym interaction. Therefore, I suggest loosening the requirements to interact with a gym. This means that trainers could interact with a gym from farther away than for other elements in the game, lessening the amount that drift will affect players.

Unequal Playing Environments

Although separating Pokémon by region, weather, and biom helps to reflect the real world and make a more immursive experience, it must be balanced so that trainers feel that if they work hard enough, they could succeed.

Many trainers have stated that they want to be able to trade Pokémon with other trainers, and in this way they could get those that aren't in their region. However, this reduces the fun of the game because it makes it too easy to get these Pokémon.

My redesign is to have both bioms and regional Pokémon rotate around the world. In this way, trainers will see a larger variety of Pokémon but will not get too bored with the ones they have because they will switch.

Lack of Information

I suggest adding a filter to Pokémon Go. This would allow trainers to choose specific types of Pokémon that they are interested in knowing about, and the app will inform them if there are any nearby, even if they are slightly farther away than some other Pokémon.
This will also help new trainers, because exclusively using third party apps for this puts them at a disadvantage. It is hard for them to find out that there are other apps and websites that they should use in order to fully enjoy Pokémon Go.

New Users

Making this game morea accessible to new users is tricky. Enough information needs to be provided to the user so that they can play, but not too much that it would be overwhelming or hard to remember. Also, if users are simply told how to do things, it could make the game boring because there isn't much left to be discovered.
Although perhaps a redesign of the entire user interface would make features more discoverable, this would affect all of the players, and would likely have a negative impact on those who have been playing since the game started. I suggest to adding more explanations to the game to help new users. However, these will only pop up at set intervals. For example, if a player has had an account for a month, and still has not set their buddy Pokémon, then the app should inform them that this feature exists.
This system ensures that the game continues to be interesting, but that trainers can still have the fun of finding new features. Also, not all features will be told about, because having easter eggs does make games more exciting.