A potential solution for facebook (if they were inclined) might be to not charge for likes from accounts less than N days old or from accounts with > M total page likes. At least this would make it harder for click farms to get around... or, ya know, try and model click-farm accounts which seems pretty tractable.