Very interesting post and you made a lot of good points. However, I feel that the main explanation is very simple: Facebook does not want to be accused of being complicit in ICO/crypto scams that would inevitably be advertised on their platform.
The last thing Facebook wants is a repeat of the last crisis, which has seen media and politicians criticizing Facebook for letting Russian entities pay to bombard Facebook with ads and fake stories during the US elections. That was a huge issue that won't be soon forgotten, and I see them trying to avoid a similar situation here.
Facebook seems to have learned its lesson, and realizes that the short-term profit from allowing ICOs to advertise on their platform will only hurt their goals and reputation in the long-run. (Would you want a scam operation advertising on your site -- worse yet, to your loyal readers?)
I don't mean to blindly defend Facebook, but I think Zuck is trying to do the right thing for both society and his shareholders.
I still get ads for MLMs, Homeopathy, scammy "self help" ebook courses and dropshipping scams. If Facebook gave a shit about it's reputation with its audience, they'd censor those first. Sure, the ICO craze and the Bitconnect kerfuffle and lawsuits being thrown around are not making for a happy market to be in, but Facebook is leaving a pile of money on the table because it doesn't want scammers defrauding its users? Come on... If at all, they're trying to look like they give a shit with this ban on crypto ads.
Good point... you may be right. Perception certainly counts more than reality!
That said, I would argue that scam ICOs and binary options pose a greater and more systemic risk than "smaller" scams and stuff that we'd just consider spammy.