Designed for the C6 Corvette but with a bit of bending it works on an E90 M3.
http://www.vettemods.com/radarbracket-c6.htm
Bend to fit the contour of the headliner, drill a hole for the post used in the BMW visor mount, cut off the alignment piece under the screw hole on the BMW visor mount and it fits quite well. I reused the BMW screw (t20 torx) - it is long enough.
Ran the power cord up the passenger side A-pillar and used add-a-fuse in the fuse box (socket 5).