This part isn't an exact science. I've found that the best way to do this is to wait about a month before the season starts and go onto each team's promotional schedule website, which can be found at mlb.com (here's an example for the Atlanta Braves). You can also check Stadium Giveaway Exchange which does a great job of tracking every promotion.
The number of stadium visits will of course depend on your personal schedule as well as when bobbleheads are being given out. My trips are usually one week max and we will rent a car during the trip, so 2 bobbleheads in a trip is pretty good and 3 or more is just gravy on top.
Taking a look at where teams are located, you can already get an idea of what teams should be visited together:
Seattle, Colorado, and to some extent Atlanta should be visited independently
Here is a table of estimated hourly drive times I created. Click on the table to expand to full screen view (Note: I have filtered out any drive times over 12 hours):
For hotels I usually use hotels.com which gives one free night after every ten nights you stay, although lately I have been trying out Airbnb for my personal travel which will probably work just as well.
For car rentals I always go with Priceline because they usually have the cheapest rates, and the one time a rental company did not have a car I had booked, Priceline game me a no-hassle refund.
The pricing for these seem to vary wildly based on the popularity of the team, as well as the team's geographic location.
For the longest time I was using Stubhub, but lately they have been charging some very high fees that push the ticket prices beyond reasonable. I'm not sure if it was a change in the contract they have with stadiums or their business model. Regardless, I seem to always save money when I use ticketmaster, and since my main goal is to get a bobblehead and do a stadium visit, the cheapest option works for me.
Some stadiums offer very affordable parking lots, which makes going to the games a breeze. In other cases, I have been using ParkWhiz for my parking needs. Just enter the team name and you can find specific parking for the game day around the stadium. Their app is easy to understand and I haven't had any issues reserving parking.
Check the associated team stadium pages for my recommendation of where to park.