This is a great idea! I don't know why I hadn't thought of it beforehand! I looked through your code and it looks like you replace the HTML of the page. Have you considered appending "-site:<blacklisted url> -site:<blacklisted url>...etc" to the end of the search query instead? This way, the user still gets a full page of relevant search results.
I'm not sure how flexible extensions are, but maybe you could intercept all request attempts to google search, append the blacklisted URLs to the search query, then hide them on the loaded page so that the user doesn't have to see the long list of appended, blacklisted URLs.