The Miners can decide on what rules they mine by. And yes, if one rogue node changes the rules it gets rejected. But if enough nodes "vote" on changing the rules, that is, they mine with a different set of rules, then the majority rules.
This is how miners "vote".
is there any way to remove the 21 million limit? it would be cooler if the limit was somehow tied with the ammount of users using bitcoin, or ammount of transactions there were in past few blocks, or something like that
Only if over 50% of the network agrees on it. The implications of that however would be staggering.
Wrong. You can't change the rules with over 50% of the miners, you need the support of virtually 100% of the nodes,
including non-miners. Nodes that don't follow the new rules will reject blocks mined under the new rules.
At best this will result in the blockchain being forked; more likely, the blocks following the new rule just won't propagate through the network, and all the effort mining them will be wasted. While there are a lot of things you can do if you have the support of more than 50% of the miners, changing the core rules isn't one of them.
if security is good enough now, it'll be good enough for the future
This is a very shortsighted statement.
No it isn't. Because the attacker's hashing power increases at exactly the same rate as the network hashing power, the security threat in the future is exactly the same as it is now. I never said that there was no threat, just that whatever threat there is will be no greater in the future than it is now.