Reader conditionals work great with basilisp: https://github.com/olavfosse/context/blob/024f3241e94944ce97ae7be21f266b8089c58229/src/no/olavfosse/context.cljc
I personally think it's fine to reuse the namespaces, if the intention is to extend support for new platforms. For me the value prop of different Clojure hosts is that the same code just works across different platforms. Hosts are reusing e.g namespaces, I think that's okay.
I think it would be best practice to leave the malli namespace to the maintainers of malli* for the time being, and use your own (such as balli). Perhaps sometime in the future the malli maintainers would be open to maintaining basilisp support under a malli namespace.
I'm not sure how/if https://clojure.org/guides/reader_conditionals work in basilisp, but it seems to me that would be the place to support something cross-port support.
* As an aside, this is really where the package naming conventions Java put in place make it clear what to do. If the malli namespace were instead named fi.metosin.malli , it would be clearer that you wouldn't choose the fi.metosin.malli namespace unless you were part of Metosin or working under their august auspices.