The problem with your proposal is that it counts anyone creating transactions on clients that don't have this voting feature as voting for the permanent 1 MB block size limit, which is a very controversial departure for the original plan to eventually replace what was meant to be a temporary 1 MB block size limit with another solution that allows high bandwidth nodes.
There was no plan. All we have is some random comments from Satoshi suggesting a possibility.
Note how the proposal is careful to note that not voting is
not a vote for a 1MB limit, but a vote for the status quo. In the future that status quo will probably not be 1MB, so your default vote will be for a different, probably higher, number.
Adding the voting feature is simple and easy. There just aren't that many clients out there so I really do not see the issue there.
If all votes require a special transaction type, rather than counting normal transactions as a vote for a particular option, that would be more reasonable.
Unfortunately that just isn't possible because miners fundamentally control what votes get into the blockchain at all. What you are proposing allows miners who wish to raise the blocksize to rig the vote by ignoring transactions voting against an increase, and it just takes a 50% majority of miners to do that. Not exactly a compelling majority of Bitcoin users is it?
Anyway, the point of my proposal is we know that miners can effectively reduce the blocksize by just not creating large blocks and not building upon the work of other miners, but we can coerce them into creating larger blocks by offering them fees. But what we can't do is limit how large blocks can become, which is the limiting factor for how easy it is for someone to become a true miner themselves. (not just someone working on behalf of a miner) Controlling the upper limit to something the whole community can agree on is what is important because we all benefit from a Bitcoin where the resources required to operate a full node are acceptable, for some value of acceptable.
Very few people are complaining about the vote by mining method. Large pool owners aren't the ones making the votes, as miners can point their hashes to any pool they want.
"Very few"?
My off-the-cuff guess (may be wrong) for a solution was: if (todays_date > SOME_FUTURE_DATE) { MAX_BLOCK_SIZE *= 2, every 1 years } [Other devs comment: too fast!] That might be too fast, but the point is, not feedback based nor directly miner controlled.
-http://garzikrants.blogspot.de/2013_02_01_archive.html (emphasis his, not mine)
That's Jeff Garzik, a highly respected core developer. Gregory Maxwell and IIRC Pieter Wuille shared those same concerns on IRC. Gavin is the odd man out in the core-dev team to think that leaving the decision up to miners is OK.