How to verify only the email address on user registration?
I would NOT block the user at first. That will for sure also not cause that error message you try to get rid of. And instead use the Flag module (in combination with the Rules module) to implement your logic like so:


Use that same event When the user account is validated to flag that user with a flag labeled (say) "Validated".
Any time you want to check if an authenticated user has been validated, you just have to verify if that "Validated" flag has been set for that user (which you can typically do with the Rules module also.


As a remedy to the fact that a user who registers can login to the site without email verification (as in your comment below), you can add some Rules logic like so:


Rules Condition: if this user is not flagged (with that 'Validated' flag)
Rules Action: perform redirect to user/logout


Possibly with an extra message you could set (in the same Rules Action) like "sorry, your account has not been validated yet, please do so and so first".