I just found that google has removed the page which I blocked from serving 'empty referrals' from organic listings. And this page was the highest traffic generator to my site.
So blocking 'empty referrals' is definitely not a search engine friendly method. But what else am I supposed to do? There doesn't seem to be any other method to stop the attack.