I would recommend Mach V and Funktion. They both cost $$ but the quality is top notch. It has been hard for me to get an appointment at Mach V these days as they are very busy so you have to have patience. I had taken my STi and my bimmers there and never had a problem.
Current: 1987 E30 325is, 1997 E36 M3, 2015 F80 M3
Past: 2011 E92 M3, 2011 E92 335is, 2008 E90 M3, 2007 E92 335i, 1995 E36 M3