It's not the number of supported feature who makes a system system simple, but the orthogonality of the semantics it's built upon.
I hadn't time to study #gemini yet, but there is at least one design error that I saw in the few things I've read about it, a design error that comes from HTTP: responses only provide the files requested.
Instead content responses should always provide (signed but not necessarily encrypted) cacheable chunks of sites in the form of a fs archive (tar.gz... or whatever)
This way the system would be harder to abuse for tracking: some would serve small sites as a whole on the first request and proxies would prevent the server to gain most of requests. Also such signed website chunks could be shared among users without need for a server or proxy.
My 2c, so far.
(obviously this might be wrong take on Gemini, and sorry if so... I'm very happy to be corrected and pointed to better documentantion)