What can be done about the no-transaction block relayer (currently 71.123.170.150)? An unknown major solo miner (currently IP 71.123.170.150), most likely a botnet, is relaying blocks with zero transactions. Two weeks ago this miner constituted ~15% of the network, now it constitutes ~30%. If the growth rate continues, in about two weeks this miner (most likely a botnet) will control more than half of the network, theoretically allowing a 51% attack. It has already orphaned two perfectly valid blocks. (Thread on BitcoinTalk) 

It seems to me we have an imminent threat to Bitcoin itself. Requiring transactions to be included in a block won't work; the miner can just send coins to itself. Blacklisting IPs in the client won't work; the miner can easily switch IPs. How can we stop this?
There are too many issues rolled up into this question, I'll try to address each separately.


The fact that the miner does not include transactions is not a problem. Miners have a right to exclude transactions, even all transactions. Senders can include tx fees if they want to improve the chances of being included quickly (if the miner excludes transactions due to its nature of operation an individual fee won't help much, but if the general fee level increases, 0-tx miners will be much less profitable and thus less influential).
The fact that there is a mining botnet is a problem insomuch as we don't want Bitcoin to be an enabler of harmful activities, but it does not harm Bitcoin itself. It is likely that new FPGA- and ASIC-based mining products will make CPU-based botnets less effective.
Orphaned blocks are a normal occurrence in the functioning of the network, and an occasional orphan by this particular miner is of no concern.
If the miner starts rejecting longer branches (as in a 51% attack) it is a problem, but it is a heavily discussed core problem which is not specific to botnets and is not yet resolved. I am of the opinion that a proof-of-stake system can drastically mitigate the problem (and will probably make botnets less effective miners).
If we want as a matter of principle to discourage blocks that have little or no transactions, we can include some measure of transaction volume in the branch selection criterion. One such measure is Bitcoin days destroyed. It is resistant to manipulation by sending the same coins to oneself again and again, because such coins will only destroy few days each time.