OK, so I'm a newbie who has just been reading a lot and trying to understand things. So here is my opinion.
We may need 2Mb blocks, but it's not urgent, and it may be that in the future we need 4Mb or more.
Most blocks are half empty,
This is false. Here's a chart:
https://blockchain.info/charts/avg-block-size (.5 is "half full")
The urgency is pretty obvious: we knew that the number of transactions was growing, infighting about blocksize started over a year ago, and the blocks are hitting the limit, and... And here ya are, and it's a beautiful day. Well. I just don't understand it.
so maybe what we really need are variable length blocks and more efficiency.
Block size is already variable, meaning that blocks with max_block_size of 1MB aren't all 1MB -- that's just the maximum size. In other words, we're not growing the blockchain by 1MB every ten minutes, regardless of the number of transactions.
There is too much "rubbish" in blocks that is not essential to money transfer - people are recording weddings for heaven sake, SigWit doesn't mean that we can't use 2Mb blocks, it just means that if we do, then the storage will be mofre efficient. Please explain to me why we can't implement SegWit in the short term. See what effect that has on transaction processing, and then decide a block size policy for the future.
SegWit won't make the storage more efficient -- it will simply separate it into two warehouses. The amount of stuff to store will be the same.
Like the 2MB blocks, SegWit isn't a permanent solution, it merely kicks the can down the road. In other words, when we hit 1.7 to 2MB blocks, we'll still need a hard fork.