I know we've got a few owners of BMW E8x 1-series and E9x 3-series cars on here, so I figured I'd pass along some first-hand experience with suspension upgrades. While these have been extensively covered on the various BMW forums, I've found the quality of those discussions, well, varied.
My car is a 2009 128i with the M-Sport package, which was probably a lot more meaningful 115k miles ago when it was new. The previous owner took the first step and installed Bilstein HDs and Eibach lowering springs, which are very nice, but there was more to do. To get things back in shape, I installed new TRW M3 control arms front and rear (eight arms total) and Whiteline rear subframe bushing inserts.
The arms are generally considered to make the biggest difference in the front. I can't say, since I did them all at the same time. For the size of the job it was pleasantly straightforward and for the most part quite simple. Unlike my old E39 and many other BMWs, there is very little disassembly that needs to take place to get the arms swapped - no sliding the struts out of the knuckle or such things. Further, the ball joints on these cars do not require a removal tool; once the nut is removed they just fall out (yes, by design). It was really astonishingly easy, especially in the front; the back is a bit more crowded and it's harder to get an impact in there, so you need to use hand tools a bit more often.
Fitting the new arms was painless except for the front lower control arms. The original arms use a bushing inboard, while the M3 pieces use a ball joint. Getting that into the subframe was not possible without a little persuasion with a mallet. The rears look very similar to each other (just a little difference in length) and mount with one convex to the ground and one concave; it would be very easy to get the wrong ones in there, so look at the layout on realoem.com and double-check the part numbers to make sure you've got it right. Non-M cars use straight pressed steel arms in the rear, so it's not simply a case of matching up the new ones with what's already in there. Get new hardware for all the arms; while only some are torque-to-yield, it's so much nicer working with nice clean bolts, especially if you're in the rust belt.
Alignment will be needed urgently, as the front lower control arms add about 0.75deg of negative camber, which will cause the toe to be all whacked out as well. I ended up with about -0.80deg in the front and -1.60deg in the rear.
The RSFB inserts address one of the glaring weaknesses of these cars: the floaty rear end. Speculation is that BMW used soft, voided bushings to mitigate the harshness of the OE runflats, but whatever the reason, they were like soft cheese on my 9-year-old car and very noticeable. The inserts simply lock in to fill the voids with pre-molded polyurethane. Dropping the subframe is not difficult; again, there is little else that needs to be removed to gain access, and by dropping one end and then the other (install the rears first, then the fronts) everything stays aligned. The voids may be full of dirt, which needs to be cleaned out, and soapy water helps get everything in place easily.
The arms are not exactly inexpensive at around $800 for all eight plus new hardware. The RSFB inserts are cheap, $45. Even if the arms are too pricey, I consider the Whiteline inserts a must-do for anyone with one of these cars; there's no downside and significant improvement.
The net result of all this is really, really nice handling. The slop of the rear end is much reduced, and the steering and tracking through corners is brilliant. The whole job could be easily done in a day or less, especially if you have an impact. I didn't have to do the struts, shocks, and springs, but it would certainly be a good time to do so if one wanted to change them out. I can't recommend this upgrade highly enough for those with higher mileage cars. It's not that things were bad when I got the car - not at all - but the incremental improvement makes the whole package both handle better and feel smoother and more civilized.
Anyway, that's it. Hope it helps someone.