Studying the map, it cannot be done. At least not without breaking up teams that "should" be in the same division; either in the same state or really close together.
I would have a California division. They have five teams, might as well keep them together.
I would have a Southern division; Miami, Tampa and Atlanta are obvious, then for the other two you could either do Texas/Houston or Washington/Baltimore. Texas/Houston is preferable, imo.
You'd have to scrape together another western division outside of Cali. Seattle, Arizona and Colorado are obvious. For the other two you could do Texas/Houston, but I like them better in the South. You can't really do St. Louis/KC because it screws up the Midwest/Northeast if you do that, so your best remaining option would be to split up the Missouri teams, and have KC/Minnesota round out the western division. No matter what you do, that division sucks. It either stretches from Seattle to Houston, or Arizona to Minnesota.
The Midwest/Northeast is just a nightmare to come up with three more divisions of five. There are six teams along the eastern seaboard in Boston, Mets, Yankees, Phillies, Baltimore and DC. There is an ideal cluster in the middle of Cincinnati, Cleveland, Pittsburg, Detroit and Toronto, but that isn't going to work because of the other teams. And then there are four teams west of that, Milwaukee, Cubs, White Sox and St Louis.
So the best I could do was a Northeast Division of Boston, Mets, Yankees, Phillies and Toronto.
A Midwest Division of St Louis, Cubs, White Sox, Milwaukee, and Detroit.
And then a garbage division of DC, Baltimore, Pittsburg, Cincinnati, and Cleveland. That division also sucks.