Here are Mike's suggestions:
1. Dishonest blocks can be identified out of band, by having honest
miners submit double spends against themselves to the service anonymously
using a separate tool. When their own double spend appears they know the
block is bad.
This only works if the service accepts double-spends from everyone. I'd have thought the service was more likely to restrict double-spends to favoured individuals. For example, it could require some pattern in transaction outputs, so that only people who knew how to create that pattern could make double-spends. That knowledge could be traded on underground bulletin boards, rather like how credit card numbers are traded today.
The honest miners could attempt to figure out and replicate the patterns, and then we get an arms race with the patterns getting ever more subtle.
I'm not saying it's a bad idea, necessarily, but it's far from a panacea.