I am running a website where the users register using their e-mail addresses and receive a confirmation code before they can log in. (After this every contact is opt-in.)

Every now and then some user uses an e-mail address that does not belong to them - either due to misspelling or intentionally providing a made up e-mail address.

In a few years time it is the second time that a user provided a spam trap e-mail address during registration and my server got blacklisted because of this.

As the blacklist needs time to update I could only find the spam trap address by asking removal from it and then finding the common e-mail address after a subsequent blacklisting. Then I disabled delivery for that address on my end.

The first spam trap e-mail address was easily guessable by incident (a@[some domain]) the second was more complex.

What is the best way to avoid such things from happening or at least reducing the chances?

How do bigger sites/providers handle this?