There are lots of parts of base that evolve at radically different speeds.
It'd be nice if these could be versioned separately. Then code that only depends on stable portions of base could properly still follow the PVP in their bounds rather than the (base <5) bounds that everybody uses and still not break with _every_ GHC release, which currently slavishly updates the major version number every release.
It'd also be nice if base was somehow splintered into smaller components. This could enable things like GHCJS/Eta support in a more principled way. Backpack could be instrumental to accomplishing this. e.g. consider that each of those wants Text implemented a different way, and the same can be extrapolated over much of base's FFI support.
However, the main stumbling block is that base is huge, and is riddled with cyclic dependencies, splitting it up into components without cycles between them that somehow respect all of the current power of base is no small task.
When previous attempts were made backpack wasn't in a usable state yet. It may well be more tractable today.
-Edward