I have an Idea for a random source:
Lets take the previous blockhash and the Grain adress of the miner and hash it.
something like this: hash(previous_block_hash + Grain_adress).
The greedy miner would first have to search for a proper Grain adress for his miner in order to receive the nex superblock.
Maybe you can design it to be very difficult to find the next proper adress for the superblock, like:
if hash(previous_block_hash + Grain_adress) contains "99999" = superblock
You could also add a superblock difficulty:
if no superblocks are found for a long time, the superblockdifficulty goes down, lets say from must_contain = "99999" to must_contain to "9999".
You could make it very very hard for a block to be a superblock, but every single block could be a superblock and the greedy miner would be fucked.
lets call it: "Proof of luck".