Golem and Pangoro were fantastic for my first run through, especially because Feraligatr, Rapidash, and Ampharos stopped carrying their weight around level 40 :,). Sturdy golem gives survivability against extremely difficult challenges and will be excellent against certain flying or general sweepers you might come across. Pangoro's dark and fighting typing make him amazing through the later midgame, and I was always trying to keep him underleveled because he would just be perfect for every fight. Other than that, Gogoat is fun to use as a grass type, even though he arrives a little late. I'm not too sure about water types honestly as I'm trying to find one that I'm actually excited about or that I found useful. I hope this helps out, and in the end I believe determination is much more important to completing the game than anything else.
Oh one last thing, I'd highly recommend carrying a status inducing move on one of your pokemon. Please, make sure you have at least one, whether poison, burn, sleep, or paralysis.