People keeping their optimisations to themselves maybe derives from turning people into not only interchangeable components but even into un-necessary components.
If a business can be massively expanded without taking on additional staff/operators then there is maybe not a lot of incentive to provide people with the tools to perform the functions of staff/operators, such as software enabling the operators to run the thing more efficiently.
A typical capitalist response seems to be that they are actually employing plenty of people, from the people who etch chips through the people who assemble machines and datacentres and the people who run the cloud computing services, so that anyone who wants some pay/gain/income from the capitalist's growing mining business need only go work in a chip factory or cloud service datacentre, they don't need the capitalist's secret sauce recipe to profit from the success of the secret sauce.
Partly people lead themselves into these situations too by not wanting to work. They want to just tell their computer or butler or servant or slave or whatever "provide me with with income" then go bask on a beach or whatever with income automagically coming in for hopefully a nice long time. They want people to be obsolete, even to obsolete themselves really in such a scenario. being obsolete living in a paradise sipping fancy drinks is the life of Riley, who wouldn't want to be obsolete?
To resist the botnets and massive purchasers of cloud services maybe what is needed is "the human element". keep things changing so code constantly needs to adapt, leading eventually to the code itself needing to be adapted so it can adapt to a wider range of situations than an earlier version was able to adapt to. A kind of Turing Test maybe in a way, if humans are able by observing the actions of code/scripts to predict their behavior well enough to come up with new changes of the environment that are specifically intended to trip up the code.
This already happens of course with cases such as switching to scrypt so chips etched with SHA256 cannot adapt.
But what about putting that kind of conflict/development into one coin, instead of more and more chains each with different gotchas intended to trip up a previous generation of automation do something like
http://www.devtome.com/doku.php?id=cpu_mining in which the problem of initial distribution of the coins is separate from the problem of securing the currency system whose coins are being distributed.
If one person just isn't going to able to handle each and every individual task of a massively parallel collection of tasks maybe they will have an incentive to recruit people to handle a lot of threads, and in order to rake in the most profit from the work of those people equipping them with the best tools might actually make business-sense?
-MarkM-