I get how dafür and dagegen are used in the sense of being for or against something –from today's news:
"Ich bin dafür, die Sanktionen schrittweise abzubauen, sobald es zu Fortschritten bei der Umsetzung des Minsker Abkommens kommt" (Sigmar Gabriel)
Similarly, I can use dagegen to express that I have (or don't) something against something or someone:
Ich hätte nichts dagegen, wenn wir zwei Wochen Urlaub in Italien machen
Things get a little confusing, though, when we talk about doing something against something, or the ability to do something about something (especially something negative). For example, from Der Postillon:
Mann, der zufällig aussieht wie Adolf Hitler, fühlt sich diskriminiert.
Er kann kann doch nichts für sein Aussehen.
I would not intuitively use für here. On the contrary, I would use gegen, since it's something I presumably don't want but can't do anything about. I'm going on the assumption that this is also an example of the supression of the verb in the presence of a modal (i.e. können actually stands for tuen können here) (1). I'm often unsure whether I should say Ich kann nichts dafür or dagegen when trying to express that something is out of my control. So this makes it even more confusing:
Internet langsam: Was kann ich dagegen tun? (Giga.de)
Again, this is something negative that I'd like to do something against. In this case, though, it seems that there is indeed something I could do about it. So does it lie precisely in the fact that in the latter, the subject can actually do something about it, whereas in the former he can't? Is there a difference between "ich kann nichts dafür" and "ich kann nichts dagegen"?
(1) Actually, this is incorrect as was confirmed in this subsequent question