I found this topic while wondering why
testnet4 is mining empty blocks: there are thousands of transactions waiting, and the last 14 blocks were empty. Before that, 2.5 full blocks, before that, 30+ empty blocks.
I don't want to post on Google groups for this, so I'll post it here: how about cutting the difficulty in half instead of dropping it to 1 after 20 minutes? That will quickly solve the problem if the difficulty is too high, and a large miner stops. But it also disables CPU mining: if the difficulty drops by a factor 8 in an hour without blocks, it takes many hours to reach 1.