Confirmation time =/= block time.
Average time between blocks is <10 minutes. I pointed this out in the prior thread but it will likely get ingored again. Any "answer" which involves miners solving less blocks would mean the time between blocks would be greater than 10 minutes and that is not the case.
Miners are on average producing a block size of ~160KB.
http://blockchain.info/charts/avg-block-sizeTo clear the backlog and reduce the average wait time to ~1 block would require blocks to be roughly 50% larger. Miners are chosing not to do that. The average block has ~300 tx vs the ~2,500 tx limit imposed by the 1MB or ~600 tx it would take to clea the backlog
Simple version: blocks are 90% empty, tx wait longer to be included in a block
Yes it is up to the miners. Anyone can set bitcoind to only accept transactions with 0.0005 BTC transaction fees if they wanted, and if their hash rate is high enough to solve a block reward than that is what will go. Like the add on which was debated quite a while back, to avoid all satoshidice addresses. It is up to the miners. If you have the hash rate, you have the control of who goes and who waits.