Simply switching to https would make it impossible for anyone to identify bitcoin messages between nodes.
Encryption of the communication would prevent MITM snooping but it is not at all easy. The problem is the initial key exchange. The two nodes have to exchange a key first to use for the encryption/decryption. This key exchange itself can't be encrypted and the ISP (aka the man in the middle) can swap the key with its own.
Node A sends its pubkey A to ISP
ISP swaps it for its own pubkey S (they have this private key s)
ISP sends pubkey S to node B disguised as node A's pubkey
Node B does the same and ISP sends Node A its own public key S'
Node A sends encrypted message using S' to ISP
ISP decrypts the message using key s' then encrypts it using public key B and sends it out to node B
The reason why https works for websites is that your computer is relying on a centralized "master key" (CA) to validate that the key that the website's server sent you is not changed by the ISP or MITM. We can't add that to a decentralized network such as bitcoin.