namespacing
Yes, I figured that that would be the kind of namespacing you had in mind, I just wanted to caution against overshooting the target. There's probably a host of reasons why Python does this (I suspect the collaborative nature of development will be at the top of the list). It may very well be a reasonable path for many languages, and Python is a lovely language in the greater scheme of things; I'd just hate to see WL turn to this type of namespacing, not that I sense any immediate danger of that happening.
As you describe it though, I have to agree that there are portions of functionality that look as though they could be a clearly defined group of things. That might very well be feasible and would serve as a way to structure things a bit.
On the other hand, the result would be far from clash-proof, since any package can still be broken by any of the namespaces it uses. For instance, a package that is likely to be broken by new functions in the ImageProcessing namespace is also a package that very likely uses ImageProcessing already. Unless of course you want to get rid of $ContextPath altogether and force fully-qualified names for everything that's not System or Global. (I'm against that idea!)
repository
Regarding the package repository: I'm aware of most of the discussion (although I didn't participate), and I appreciate the difficulties. Of course something like this shouldn't be a community effort, that's just not how the Wolfram ecosystem is designed (and that's totally fine). My suggestion was really geared towards WRI, because honestly, the Library Archive doesn't cut it as a code repository.
In the meantime, you guys did a great job on PackageData and I'm definitely using it. I haven't tried the automatic installer solutions that have appeared recently because I have a peculiar setup and don't really use $UserBaseDirectory, but for the majority of use cases I can see the benefit of a unified installer.
prevention of extension
You also mentioned that a lot of functions are easy to use in their default mode, but really hard to extend (your examples were NIntegrate and Dendrogram). I just wanted to add that this is indeed also a pet peeve of mine, although I usually run into this with Plot and friends. I recall a talk by Stephen Wolfram where he said that people always ask for more customizability, but then a survey of real usage always shows that almost everyone uses the default even in places where it's easy enough to change (such as ViewPoint in Graphics3D). So maybe this reduction in extendability is actually a conscious decision.