For reducing "self-promotion" spam, it could be helpful to automatically flag posts (especially a new user's first post) which give a link matching the site listed in the user's profile? Most often these are blogs, and the address contains the word "blog".
Alternatively, the user could receive a warning (similar to what you get when you forget to put tags in a new post, etc.), preventing them from posting the answer, which would state the SO "policy", and present an "I understand this" link/button that the user could click if he/she still wanted to submit. Thoughts?
EDIT: Please have a look at the comments before voting on this answer. Remember, this is a discussion.