Always insist on 7% off minimum, tell them that you know what their markup is. Go to a dealer with lots of inventory. When I bought my 08 E90 M3 just after the "financial crisis", Mississauga BMW had 20 M3s on the lot, they were desperate to get rid of them, so negotiating wasnt difficult.
Admin fees should not be paid, nor should you be paying for a full tank of gas. Try and talk them out of the dealer prep, etc.
Get them to throw in or discount items, such as winter wheel / tire package, extended warranty, other goodies, etc (as their markup on these items is huge).
Tell them you are shopping around and dont let your emotions / desire to own an M3 get the better of you (use your best Poker Face). This should not be an impulse buy! So dont be afraid to walk away.
Good luck with the negotiations!!