Proof of Existence is the proof of the positive, which can certainly be done in this fashion. The problem is that it doesn't prove the negative. Factom allows you to create a Factom Chain where you can not only prove the existence of everything in that chain, but prove no other entries are in the chain.
Peter Todd is working on a project called Proof Chains (
https://github.com/proofchains) that allows you to create a chain of entries in Bitcoin that duplicates Factom's features. The downside is that your data 1) is directly in the Bitcoin blockchain,
Incorrect for most use-cases; proofchains itself doesn't have any data publishing tech yet anyway.
2) requires Bitcoin's transaction fees (more expensive),
Often correct, though there are ways to mitigate this issue. Of course, for many applications even $1/proof fees are so cheap as to be effectively free. (e.g. land title registrations)
3) is subject to censorship (by those that don't like this stuff in Bitcoin),
100% incorrect in most use-cases. For the few applications that do need to publish data directly there are many techniques available to make censorship very difficult.
4) requires users to hold the whole Blockchain for their proofs,
Very incorrect. Proofchains techniques work just fine with SPV.
5) is subject to Bitcoin confirmation times,
Correct.
6) requires users to manage and hold Bitcoin wallets to write their data, and
True, although outsourcing the holding of Bitcoins to third parties is pretty easy, and can be done without trusting those third parties.
7) has no means to incentivize the development and support of the code.
Not as exciting as crowdsales, but going to clients and telling them "Hey! I can solve this problem you have." still works reasonable well, provided there actually exists a problem to solve.
Factom seeks to address these and other issues. It turns out that building a censorship resistant layer over bitcoin to write arbitrary data is just harder than it looks.
It is, which is why I've focused on solving specific problems and building low-level libraries to help solve such problems.