I ran a full node 24/7 for about half a year, but then my external HDD broke and I lost the entire blockchain. Since then, I've switched to Electrum because it's so much more lightweight and I appreciate the deterministic qualities.
So my question is, does a full node have any consensus power regarding things like block size or other developments?
I don't mine, and considering that miners have so much power with the creation of blocks, I didn't see any concrete incentive to keep my full node up.
Yes. Full nodes validate every transaction and block that they receive. If a block (or transaction) does not meet the consensus rules of the full node, then the node will refuse to relay the information to other nodes. The more nodes there are on a particular set of consensus rules, the more robust the relaying of information that matches those rules. In the end, the miners have to pay for their resources. They will therefore mine where they feel they'll get the most revenue per hash. As such, it's really the economic majority that has all the power in the decisions. If all the merchants and active consumers refuse to use a blockchain with a particular set of consensus rules, then the miners won't be able to get enough revenue for any coins they mine on that blockchain. By using a full node (and actively using your bitcoins for purchases), you express a preference to merchants on which set of consensus rules you desire them to support.
Considering that the blockchain will grow immensely (especially with an probable block size increase), in the future, will there be any infrastructure changes to reward full nodes despite not mining?
Not enforced within the bitcoin protocol. Perhaps it might become possible for users to volunteer to pay nodes if they choose to do so out of the charity in their hearts.
Maybe, in addition to a transaction fee, there could also be a transmission fee as well that is split up and sent to the nodes directly connected to the origin-node that receive the transaction hash and rebroadcast it. Just a rough idea.
How would you know who the origin-node is? Couldn't every node simply pretend to be a relaying node so that they could avoid paying the fee?