They also claim that only miners should run nodes, that it's okay if eventually Bitcoin nodes just exist in five data centers.
That has nothing to do with "bitmain and friends", that's just a logical observation. I've demonstrated this several times already. Full nodes only *inform their owners*. They have no *power* over the protocol. They can only inform their owners that the actual protocol of the block chain doesn't correspond to the protocol the node would like to see ; they notify this to their owners by stopping and coming to a halt.
Now, "nodes coming to a grinding halt" being equivalent to switching off your node, has not much power over the protocol as it is determined by the miners.
If the miners come to a consensus decision, and accept each-other's consensus decisions, hence only build one single block chain, the only thing a full node can do, is accept it, and download it, or not accept it, and stop. Miners have no need for other full nodes to get one-another's blocks because they are strongly linked to one another for reasons of efficiency. They don't need "Joe's node in his basement" as a filter to give them only those blocks from their peers that Joe's node agrees with ; on the contrary, miner pools try to catch one-another's blocks directly from each other, to limit the wasted hash rate on orphaned blocks. Given the current very low orphan rate, you can easily estimate the very small amount of time a block needs to propagate to all the other significant pools: there's no "Joe's node in his basement" there.
Now, USERS (not full nodes, but users, that means, people trading coins, buying coins, spending coins) don't use full nodes, but use WALLETS, that need to connect to a full node that contains the up-to-date block chain. If they don't connect to such an up-to-date node, then they just punish themselves, not seeing their own ownerships, and not being able to transact. So users need somehow to connect their wallet to an up-to-date node. Miner pool nodes are such nodes. And all other nodes that accept whatever miners make as the current block chain (you know, the ONLY ONE that is out there). Any node disagreeing with whatever is this block chain, simply stops, and hence cannot be used by a user to connect his wallet to.
Full nodes agreeing with the effective miner protocol, hence, are active proxies of whatever the miners had consensus on as being the single block chain. They can only copy it, if they want to remain active. Users can connect their wallets to such a node. Full nodes that, for whatever reason, do not agree with something on the single block chain out there, simply stop at the point where they disagree, and that's it. Such a node is not actively updating its local copy of the block chain any more, and hence is not usable by a user that needs to transact.
So the only thing that full nodes can do, is to act as a proxy server for whatever block chain the miners have consensus on. If they disagree, they stop, and render themselves useless to users.
However, admitting this is very hard, because it shows the bare reality that the only *technical* decision power in bitcoin is by miner pools, and that the decentralization level of bitcoin is at most 20 nodes, but actually, the majority resides with 5 of them. The only *economic* power in bitcoin, the users voting with their money, need the sole block chain out there to vote on, and hence need a proxy server (a full node) that has the most recent copy of the single block chain out there. These are the two powers in bitcoin. And full nodes are not part of them.
Full nodes have utility for its owner. Full nodes have utility as proxy servers, to aid in the DISTRIBUTIVITY of the network, but can't help with de decentralization (different entities deciding).
It is simply factually wrong that full nodes have any decision power: they don't. This is logically so, this has nothing to do with "politics". It is simply derived from the technical workings of bitcoin. If you have a full node that doesn't agree with the single block chain out there, it stops, and by stopping, it doesn't stop any consensus decision from being taken, and it doesn't stop any user from transacting on the chain you don't want him to use. As these are the only decisions of power that can be taken in bitcoin (consensus, and voting with your money), and full nodes can't influence them, they have no power, and hence don't contribute to decentralization.
This is why only the miner full nodes are the "primary data sources" of block chain, and all other full nodes are just their proxies, copying their data and putting them at disposition exactly as the miner full node would, or rendering themselves useless if they don't. Proxies all over the world increase indeed, the network robustness ; but this is like facebook that has many data centers all over the world: we're talking about a distributed network, but facebook is not decentralized: there's one CEO that is the source of all decision power with facebook. In the same way, full nodes are like facebook's data centers: they help getting the data everywhere, lowering the network load on the central nodes which are the data producing centers: the miner nodes. But they have no independent political decision power. There's no difference between Joe running a full node in his basement, and Joe running a small proxy server for facebook on his own costs.
Miners are the salesmen of block chain, they should also finance the distributed network of nodes from which they serve their customers, the users, in the same way facebook finances its own distributed network of data centers around the world. Volunteers helping miners to bring their block chain to users, are just paying out of their pocket, the infrastructure miners should finance to get their product (block chain) to their customers (people doing transactions).