Those limitations are what creates the strategy, there is no strategy in a pokemon who can do anything and everything.
As for the HMs, they are meant to control where you can go and the storyline, not be used in battle, although some of them can be, Surf and Waterfall being the main good ones.
Also, the Trainers are smarter in this game, though not all of them. The further in, the smarter the trainers, especially in the battle subway, which is where a lot of strategy will be needed if you want to get very far. They will use moves you are weak against, and switch to Pokemon strong against you. They also further in use more complex strategies, item/ability combos, etc.
An example of good strategies, both abusing the same ability:
- Whimsicott
Ability: Prankster (non-attack moves increase priority, almost always go first)
Item: Leftovers (Helps keep it alive)
Attacks:
-Substitute
-Leach Seed
-Taunt
-Encore
This one is a very good SubSeeder, a popular basic strategy. Simple put, you keep substitute up as much as possible so you don't take much damage, and Leach Seed the enemy to slowly kill them and keep your life healing. Taunt forces the enemy to use attacks, meaning they can't use anything to try scr..ing you up(like Taunt, since you don't have any attacks) and Encore is good for locking the enemy into a useless move, then maybe switch to something strong against it.
- Murkrow
Ability: Prankster (non-attack moves increase priority, almost always go first)
Item: Eviolite (Big boost to defence, helps keep it alive)
Attacks:
-Swagger
-Taunt
-Screech
-Roost
I love this one, although it is risky, especially against physical attackers. Swagger makes the enemy confused, so not only is there a 50/50 chance of them missing, but they hit themselves hard when they do. Taunt for same reason as before, protecting against annoying moves. Screech makes the confusion deal even more damage. Roost helps keep you alive. Murkrow with Eviolite also has a lot of defence, so long as it has good IVs and EVs in it's defences.
If you haven't tried the Battle Subway yet, I highly suggest it, it's a nice little challenge

Warning though, the super subways are MUCH harder than the normal ones, you unlock them after beating the normal ones.(21 battles) The super ones also don't end, you can keep going and they keep getting tougher. Some of the higher scores I've heard of are in the 300's.