Why not take a more daring approach - implement 'priorities' in processlist?
"SET PRIORITY = high|medium|low [or 1..9] FOR processlist.ID=xx;"
I realize that this is not a trivial task, and obviously it requires so much change in server architecture that it is not a solution for Marian here-and-now.
@Marian BTW (as you probably know the answer): what do hosting companies offering 2.95 $-per-month 'web hotel' solutions do where hundreds or thousands of users/customers share a MySQL server and one user repeatedly executes idiotic queres from home-grown applications resulting in starving of the server and thus effectively causing denial-of-service for other users/customers? I was always surprised that they could manage it with MySQL, actually!
-- Peter