I'm on my 6th BMW. Apart from one occasion when I replaced a set of tyres on some 18" wheels, every other attempt at balancing by a normal wheel balancing machine as resulted in the wheels not balanced correctly.
I'm now resigned to the fact that when I need my wheels balanced, it needs to be done on a Hunter Force Variation balancer (Google them). This results in perfect wheel balancing every time. Expect to pay £20 - £25 per wheel for this.
I'm no expert on force variation, but when the wheels are balanced, the wheel and tyre is measured for roundness. The tyre is then removed and replaced on the wheel for optimum 'roundness'. The wheel is then balanced, and weights then added. The nearest tyre shop that does this to me, is the Tyre Shop in Chinford which is a 2-3 hour round trip for me.
You can do a search to find your nearest tyre shop with one of the force variation machines: