St Louis, Kansas City, New York, Baltimore, Philly and DC all have average lows for April in the mid-to high 40's; not great, but not like the rest of the teams you list, so strike 7 teams off the "can't host list" right away. The easiest way to do this is to take your 9 weather impacted teams (MIN, BOS, PIT, CLE, CIN, DET, CHC, CWS, COL), and give them one series at home during the first half of April, but make it on a weekend so day games aren't as much of an impediment. Take your 7 borderline teams (STL, KC, NYY, NYM, BAL, PHI, WAS), and have them do 1-3 series at home in the first 2 weeks, with 1-2 on the weekend, and 2 gamers if possible, with an off day for both teams right after the end of the series. The other 14 teams will host 3-4 series in the first 2 weeks, which will tend to skew to midweek a bit more. This isn't that hard to figure out.