nodes only relay information, they don't create any new information. So it is difficult for a node to get paid, unless it "billed" the network by sending a type of pending coinbase transaction out for miners to include in blocks, to solicit payment for its service. problem with that is how would each node know the value for the transaction? it cannot be a fixed amount as that would eat into the miner's fee as the number of nodes increased. the value should be a percentage of a fixed amount, ie [fixed amount / number of nodes = amount per node], but in this decentralized system can all nodes accurately calculate this, or should the mining node calculate this? imagine every block with 6000+ coinbase transactions? I also haven't touched on the possible attack vectors for these solutions.
In summary paying nodes for their services in such a decentralized network has not been resolved from a technical perspective.
However! if we think outside the box for a second you will remember the "Proof of Stake" method used by some altcoins, as opposed to the "Proof of Work" method used by Bitcoin. Generally under the PoS protocol people are only rewarded based on their stake if they keep their nodes running. People with large stakes are rewarded sufficiently for keeping their node running. I believe certain altcoins have implemented hybrid PoW + PoS protocols. PoS is currently the only tested and proven method for rewarding node holders.
Good luck trying to get some type of PoS mechanism introduced into Bitcoin core though! It would only be contemplated if the situation became much more dire than it is now.