My suggestion on monsters is this: Upgrade room missions should take into account the levels of your people and the levels of your rooms. I just recently found out that rad roach/molerat spawn power is determined by the level of the room, not by the level of your people. This means that if you upgraded too early you will get owned repeatedly. Instead only offer these missions when it is appropriate for the player to upgrade, and warn the player that higher level rooms bring higher level threat.
When monsters encounter an empty room, they instantly spread to all adjacent rooms, increasing in number. If they spawned in one single tile room, they will have 2 monsters, but if they spread they could generate up to 14 additional monsters if you have 3x3 rooms on all sides. This happens very quickly, even before an active player can react. This is even more problematic when you've just lost a few people from another source and can't staff all of your rooms.
Suggestion: Give the player time to move people into the room. 30 seconds should be enough to deal with control issues. If 30 seconds elapse, then they've consumed whatever they can get from there and move on. Preferably they shouldn't increase in number, but just send X number to random rooms around them until their numbers are exhausted. Bandits don't multiply when moving from room to room, why should molerats?
Just tweak them ... the Deathclaws are no threat to my vault already (unless I were to get three attacks in less than a minute) ... maybe they just need to scale them a little differently for the folks who didn't develop their vaults fully ... the biggest gap right now is there is nothing to spend caps on ... I am at the 999,999 max and generating about 500,000-750,000 per week (which now does absolutely nothing) ... they should add a merchant or something to spend the caps on