IMO you can't. For two reasons:
- The agreement is pretty hidden, making it potentially unenforcible
- Perhaps the poster simply didn't have permission to contribute the content in the first place. While that's technically his fault, it's still you who has the issues.
Stackexchange obviously can't do anything about the second issue. But they could at least reduce the likelihood of the first.
I wouldn't be surprised if (German) courts would consider the way it currently works on SO invalid. Just because something is written in the ToS, does not mean it is valid.
This mainly depends on whether the clause is unusual/surprising. One could argue that you expected your answer to be used on the target website, but not redistributed with such broad terms.
I think that stackexchange should make it clear that the user licenses the content as CC-BY-SA as part of the form itself. I'd put a sentence like "By posting your question/answer, you agree to release your contribution under the CC-BY-SA 3.0 License" between the text area and the submit button.
For example wikipedia uses:
By clicking the "Save Page" button, you agree to the Terms of Use, and you irrevocably agree to release your contribution under the CC-BY-SA 3.0 License and the GFDL. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.