*facepalm*
Okay, I think a lot of people here are missing an important distinction between the official games and the fangames. Real Pokemon games are designed with player-to-player interactivity in mind.
Why is that a big deal? Because by creating a main game that is ruthlessly difficult and more strategically involved inherently limits both the number of players who have beaten the game and those who even bother to purchase the game to begin with. The reason Pokemon is the Kirby of RPGs is to make the game approachable to everyone. Hell, playing Red and Blue as a kid, I didn't even bother looking at those stat pages and I didn't even know whether moves inflicted physical or special damage, and I still beat those games, and I could trade/battle with friends and feel proud of it. That's why the main games are piss-easy, so that the end goal of interacting with other players has no barriers to entry.
Obviously, we don't have the same luxuries with our fan games. People can barely get an online system with these games, so the mindset does need to change a little.
Regardless of that fact, we really shouldn't throw out the core elements of Pokemon just for the sake of making things "difficult." Forcing the player to rely on a single move or type, for instance, to win a battle is a d*ck move (I'm aware X/Y has something similar to this, and that's part of the reason why I think that game is one of the worst of the franchise). The beauty of Pokemon is that you could beat the game with an army of Raticates if you wanted to, and that's okay! It gives the player FREEDOM. I don't know how many of you guys realize this, but the official games give you PLENTY of options to create self-imposed challenges, making the game as hard or as easy as you want it to be. As a result, the games actually have replay value, and both skilled veteran players and clueless noobs feel respected. Any decision to limit that just defeats the point of the game, even in a fan game, and it should not be looked as a solution to up the difficulty.
If you really want to look into upping the difficulty with your fangames, however, I'd address the following problems with some of the official games below:
1) The overall difficulty curve scales in the opposite direction; the game starts off challenging but becomes easier over time, instead of the reverse.
- Someone pointed this out already (especially in Red/Blue when you chose Charmander >_>). One of the few things X/Y did right was give you a diverse range of Pokemon at the start. When I say "diverse" I mean diverse in terms of type combination/stat spread/etc. Not just different species alone. What made games like Red/Blue a major offender of this problem is that the gym leader's type theme resists almost every available move the player has available to them outside from their starter, at that point in the game. It was much harder to deal with because the player did not have a broad range of options to play against this.
Later on, however, you get every Pokemon type under the sun, and since the basic formula of each Gym doesn't change, you can easy send out one Pokemon that counters their type to effortlessly sweep a gym. This is what causes the game to feel "easy" I think, because even in X/Y, who many state to have the easiest gyms (more like forgettable) still posed a decent challenge for me at the start. Then it just went downhill as I built a more balanced team.
A possible solution to this, as I mentioned when talking about X/Y, is to give players those options to counter the gym leaders early on, to at least make the difficulty consistent. I also recommend, for later gyms, that if you still want type-themed gym leaders you don't exclusively use Pokemon that match the gyms type, but a different type of 'mon that has a move that matches the theme of the gym. This will get players switching out and keep them on their toes, even games like Emerald did this and I think it'll be effective.
2) Every Gym Leader has a single solution to beating them: Counter their type
- I think to solve this, you would possibly add more solutions to winning against them. How? I guess it's kind of up to you. :P
A good way to go about this is to ditch the type-themed gyms altogether. Recognize that you can run the risk of overwhelming players by making a gym's strategy too difficult to predict, however. Gym Leaders are bosses, and all bosses have some form of attack pattern for the player to work against. The complexity of that pattern can make the fight either easy or difficult... to even frustrating if you don't take care of it.
I'm sure there's more, but I can't think of any right now.