I suck at this too. It's why I've always wanted to do a Community Create a Team for BS. I'd like to get an insight into that process too.
I also suck at choosing what to bring to a battle.
Well, I'm still new-ish myself, but here's the process I go through for teambuilding and team select.
Teambuilding
I like start with a mon or core that is "powerful in a vacuum" and build around it. If I don't know where to start, I utilize resources like the Singles Viability Rankings thread or the the top ladder teams for inspiration. This fills the first slot or two.
Then I start filling in weaknesses with increasing levels of specificity. For example: if I'm building from a core that's an offensive duo, I'll add a defensive mon next. Then the next mon or two (and more importantly, their moveset selections) cover as many existing type weaknesses as I can while fulfilling some desired "team roles" (status spreader, wallbreaker, anti-gimmick, etc.). The last team slot or two and any open move slots will cover specific metagame threats that either aren't already covered or need to be addressed more thoroughly (for example, it seems like a good idea to have multiple options strong against Garchomp, Kangaskhan, and Gengar).
And for ladder play, especially at low to low-mid rankings, I always make sure to have at least one fast/Prankster Taunt for gimmicky shit because otherwise, win or lose, playing against Smeargle, Klefki, Glalie, etc. nonsense takes forever. Taunting a Smeargle and watching it have to Struggle or crushing whatever crappy Baton Pass target switches in is the most amazing feeling.
Team Select
There are two approches I use here. We'll call them
proactive and
reactive. Which one I use depends on my team composition and how my betting portfolio has performed in the past week.
Reactive
Covering this one first since it's applicable to any team, whereas the proactive method isn't.
First I check to see if they have any pokes for whom I only have one "out." I will make every effort to include that out, since I will generally expect the opponent to bring something so strong against my team.
From here, if my team is designed well, I can build a solid trio around that one "must-bring." Let's say I see a Heatran at team select, and the only mon on my team that beats it comfortably is Garchomp. Surely my opponent will see that weakness and bring Heatran along, realizing that I have only Garchomp for it. So now I need to prepare for his probable anti-Garchomp tools - perhaps by bringing a wallbreaker/stallbreaker along with something that can switch into an Ice Beam and blast its user.
Proactive
This is for teams that have some sort of defined "Plan A," which includes stuff like stall, screens + setup sweeper, sleep/paralyze everything, or the Mawile + TR P2 setup you've all watched me use recently.
The decision tree is simpler. Does it look like they can stop Plan A easily? If not, awesome! If they can, I substitute for one or more pieces of Plan A to handle whatever situation I've encountered if it's one I've prepared for. There aren't enough slots to fully prepare for everything though; if I'm not prepared, I switch to the Reactive method and make the best trio I can with what I have available.
P.S. This is what makes Mega Gengar so powerful - it's amazing at spot-removing whatever beats your Plan A, breaking up the opponent's Plan A (or threatening to in team select and forcing an answer), and just being a strong inclusion when choosing a trio reactively.