Every time you complete some real-world transaction with someone (e.g. buying coffee), you could both take a selfie photo of your faces next to each other. You would then both digitally sign each others' photos.
To verify that each person has only one account, the system could use face recognition software to scan all these photos for duplicates. When the software detected a match you would show the photos to some human judges and ask if the photos contained the same person. The judges would use a precommitment-based voting scheme (like Augur's) to discourage gaming the system. Everyone in the system would be asked to judge photos from time to time as a condition of remaining in the system.
The photos couldn't be easily faked because they occur in pairs taken from two slightly different viewpoints by different cameras, and the other person has to sign them too. A group of conspirators signing each other's photos to create sockpuppets would be defeated by the face recognition. It may be feasible to use disguises to defeat the face recognition, but the human judges would frown on that unless it was very well done. You and your conspirators could hold up printed out pictures of faces, but that would be obvious to the human judges (who would need to sometimes also vote on photos that the face detection software said were ok).
This is terrible for privacy / anonymity, of course.
I'm not sure who would pay for the photo storage and face recognition servers, which would have to happen off-blockchain.
(edit: for clarity and added more ideas about how to defeat it)