How to prevent Mail.app to update address book on its own?
I believe the solution to the problem is to prevent Mail.app from tracking Previous Recipients. To permanently disable this feature you have to use this terminal command:

defaults write com.apple.mail SuppressAddressHistory -bool true


Once you've done that, make sure you delete your Previous Recipients history. To do this, in Mail.app, open up Previous Recipients window (Windows > Previous Recipients), select all existing records present there and hit "Remove From List".

From now on, your Address Book will not get updated by Mail.app.

Note, that this will change the way address autocompletion works in Mail.app. From now on only addresses present in your Address Book (and optionally in LDAP if configured) will be auto-completed. Previous Recipients which are not present in your Address Book will not be auto-completed.

The whole problem seems to be quite unusual for Apple standards. A hidden and undocumented sync feature, with no obvious way to disable.