I've seen scripts that have bad chan checker/kickers. They use a dialog to set the channel name that they own or are operator in and within that dialog you can also set a list of channels that you would consider to be a bad channel. Below is an example dialog.

Code:
dialog bad_chan {
  title "Bad Channel Kicker"
  size -1 -1 166 103
  option dbu
  box "", 1, 3 1 160 85
  button "&Cancel", 2, 133 90 30 10, cancel
  button "&Ok", 3, 99 90 30 10, ok
  combo 4, 11 13 66 53, size
  button "&Add", 5, 11 68 30 10
  button "&Remove", 6, 48 68 30 10
  box "Monitored Channels", 7, 7 5 74 77
  box "Bad Channels", 8, 85 5 74 77
  combo 9, 89 13 66 53, size
  button "&Add", 10, 89 68 30 10
  button "&Remove", 11, 126 68 30 10
  check "Monitor All Channels", 12, 3 90 66 10
}


It is possible to scan nicks when they enter the channel without seeing the whois reply and have the script checking for the listed channels within raw 319 i believe it is and if they are indeed in one of the bad channels listed within the dialog it will kick them. The dialog was thrown together quite quickly so excuse it's messyness. Anyone care to continue on with the coding be my guess as I am not the greatest scripter in the world and would take me sometime to actually write this code. (Takes forever when you constantly looking and reading the mirc help file)