I was not aware of the 20 byte limit. That would also be problematic for storing text that you wanted to keep private or secure, since encryption could inflate the text so you would probably have to use some combo of encryption and encoding to get the job done it sounds like.
I think the "bitcoin isnt made for this" begins to step into the ethical debate which isn't really my focus, but I also believe that as long as bitcoin allows for such a use case even though it wasn't intended for that it does not matter very much. Ultimately, if it becomes a problem for the bitcoin ecosystem as a whole then it will force a solution to be created or bitcoin will fail. Relying on everyone to abide by some ethical standard isn't a great practice so instead of saying "bitcoin should not be used for this" I think the argument should be focused around "If or when bitcoin is used for this..how do we solve for x?". In a way, relying on everyone to stick to what bitcoin should be used for means you're trusting humans to do behave a certain way which goes entirely against the grain of what bitcoin is about at its fundamental core, which is taking away the need to trust humans to behave a certain way.
Merging encoding and encryption functions is probably a good idea. As well as trying to symmetrically encrypt any private data, storing keys elsewhere...
Blockchain isn't designed for data storage. It can facilitate it but shouldn't be used directly for it... For the experienced - it's incredibly slow to access at least and for the novice it's just difficult to implement... Even not looking at the ethics of it it's still something that most consider.
I agree that ethics aside, it still has technical challenges because that's not what its intended to do but I think that's part of the fun. So far it seems the use case of data storage would be limited to an extremely small amount of data and there is a chance it is not fast. Given the limitations I think I can come up with something that would be functional. I have seen examples of things like the bitcoin whitepaper being embedded into a transaction, how is that done despite there being a 20 byte limit..or am I misunderstanding something?