The miners are greedy, that's why many blocks aren't filled.
First, some miners did not yet found out how to set the setting that 1MB blocks are allowed, i have read so. 750KB blocks following.

Second, some miners only accept transactions with big fees. They want to enforce people paying higher fees.
Third, some miners implement no transactions at all. They want to have an advantage in propagating their own block. Because it's way faster to propagate an empty block through all nodes, and reach >51% acceptance for that block than sending a 1MB block through all nodes. Such a small block could orphan a big block since he is faster.
So blame it on the greediness of miners.