Meyle HD is a lot cheaper ($140 each) than OEM (Lemforder), including ZHP control arms ($225 each). Has solid ball joints like ZHP and should last as long also. Don't think you'll notice the difference driving.
Meyle bushings $100 for the set a lot less than genuine BMW also, and last longer.
Some others maybe even less, but you'll be replacing again soon, so don't recommend it.
Prices are US$ ordered from states.
To DIY you need a 2 or 3 jaw puller (can borrow from CT) and preferably a notched plate.