Inactivity hasn't been a problem for me at all. In season 2, I was the inactive one during a period where I had to travel a lot, and my division was very understanding when I had to play a season's worth of matches in the latter half. Squeezing them all into the last week is a bit much imo, but I haven't seen that in any of my divisions yet. Does it cause you extra difficulty when people play all their matches late in the season? If not, then you might as well let divisions make their own schedules even if they wind up compressed. Sometimes it's for innocuous reasons like mine in season 2, pesky real life intruding on Dominion
Also have you had a lot of people play partial seasons but fail to finish all their matches by season's end (not the people you removed for total inactivity, but someone who, say, only plays 3 matches out of 5 in the allotted time)? If so, maybe a rule change to incentivize finishing on time? If the problem is more the completely inactive people, then I guess they just need to be weeded out.
One possible rule change to encourage completion would be to take that into account when determining relegation. Put all the 5th and 6th place finishers, plus anyone else who hasn't played all their matches, into a list sorted by total points and the usual tiebreakers, and take however many relegations you need from there. A complete fifth place finisher might wind up ahead of someone who had a low point total only because they didn't play all their matches. The incomplete player gets relegated, when they may have avoided it by finishing their season on time.