Hey -
The base stock and premium sound systems in recent BMWs use custom amplifiers, custom crossovers, and custom speakers. The entire system is custom and optimized to get the most sound from a limited power amp. Therefore, I don't believe you can just change the head unit, as what you would be doing is essentially changing the preamp. From what you're hearing, though, it sounds like a very underpowered system.
Also, the crossovers are built into the stock amplifier, (this is what splits the frequencies to each speakers).
Unfortunately, and this is true with most new cars, in order to upgrade the sound you kind of have to rip it all out and start from scratch - i.e. new amplifier, crossovers, and speakers (well maybe not speakers).
This does not bode well for us wanting to upgrade...
You can probably find the wiring diagrams for the stock system in your car somewhere on the web....better yet, go to an install shop experianced with BMWs and ask them what your options are - they will probably give you good info for free (just pretend to be interested in buying something