You could always use a simple timer. Something like this:
on *:join:#channel://timerLIMIT 1 10 //mode # +l $calc($nick(#,0) +4)
This way, if a bunch of people join, the timer will reset and the limit will only be placed when the timer is allowed to finish and set the limit of # of nicknames plus 4 people. Just a thought