Masking your IP is the main fix, and Tor beats a VPN here: with a VPN, the provider sees your real IP instead of the node.
But your IP isn't all a remote node gets. Per the Monero docs, it still sees the transactions you send and which outputs they spend from. A dishonest node can also inflate fee ...