If you need help with fights, there's a single th I can wholeheartedly recommend for the entire story, just because she's amazing: Keine.
1) Can catch very early (human village grass)
2) Steel is excellent typing against the common dark and wind types, useful against elite four Shinki too.
3) Good but not great basic movepool, but some TMs might help you here.
4) Low 'cost' means she gains levels much faster than expensive stuff like flan. For a no-grind run you'll really want a low-cost team (80-90 cost puppets are the best, needing only 700k and 850k to 100 respectively. If you use only 80 cost stuff and get everything early game, you will be L100 by the time you get to the endgame stuff like letty).
5) Good defense stats allow her to switch in, take damage, SD once, switch to hakutaku form, and sweep with the boost in speed and attack from her transformation against many if not most opponents.
Alternatively, if you don't like the headbutting school teacher, you can try the doll hikko (Alice) or the mouse (Nazrin) as a steel type, both can be obtained early on. Take note that in most cases, the worst threats are focused attack based. (that's especially true if you decide to run a cleric orange or some such support, spread walling seems to be easier). Speed shinki is also fun with her Dark Clothing, but expensive at 120. There's a lot of mons that won't be able to touch her in the story mode though. It is also certainly advisable to get an earth mon in your team: the Elite Four use a lot of fast or bulky electric types like Iku, Futo, and Marisa, that can really annoy many teams.
And if there's something to avoid, it's probably Nether types, especially slow ones. Yes, you can hit a lot of stuff normally effective, but you're slower and carry some very commonly used weaknesses (at least in the campaign).
As a personal anecdote, I beat the game using the BBA team (Yuyuko, Yukari, Eirin, Kanako, Hijiri) plus Keine while missing like 80% of the useful TMs, and that didn't really make things very easy, as you end up underleveled and have a slow stally team which means taking a lot of hits. Some tactics might help you too instead of just straight-up attacking (E.g. I made a substalling HEirin which did wonders after I got trashed by Yumeko a couple times and beat her that way -- no PP no moves). Also fun fact: My yuyuko basically did nothing and just ate XP all game, and sometimes tanked something for a double switch. Omnomnom.
In hindsight the better puppets to get are probably just stuff like Keine, Mystia, Wriggle, Cirno, Orange, and maybe some Baton Pass goodness, but the less attacking moves you have, the more you will have to go back and heal, depend on repels and stuff, which makes things take longer too, so I'm a bit on the fence about BP chains. They do make beating trainers trivial because the trainers are predictable and usually don't pack/use (p)hazing. Definitely don't go full attacker only stupid mode, you can do that in pokemon, not very much in this game though, stuff carries threats to you esp. later on unless you totally powerlevel everything. Much easier to find the right setup fodder, set up and sweep as a tactic.