The problem is that I can upload a self signed certificate on a shared host for a domain I don't own.
This, in and for itself, should not be a problem. I did nothing wrong, and the shared host did nothing wrong as well: it only allowed me to upload a self signed cert for an inexistent domain. IMHO, those two actions should not allow someone to get a valid cert for a domain they don't control, and whose only fault is that they pointed their A record to the shared domain host.
I don't think TLS-SNI is sufficient proof of Domain Control. IMHO it should be sacked.