Perfect is a relative term. It depends on a lot of things.
For some, they want a baller look and will go for the biggest wheel and tire that will fit into their wheel well. Everytime you skew in any one direction, something else has to give. In the case of the baller who will run a 19 or 20in wheel on an E46, the ride will certainly suffer considering the rubberband tires that will have to go on them to maintain the same diameter. Also, 19 or 20in dubs are considerably heavier than 16s so the unsprung weight goes up causing your acceleration to suffer. That, and the usual increase in section width that usually accompanies increases in diameter will result in decreased fuel economy.
For some, the perfect size would be the 16s that are already on your car. Tires are cheap, ride is comfortable, the car is set up for that size and fuel economy is decent.
Having said that, if you are looking for advice on what size wheels to get, 18x 8 in with 225 40R18 ET35-38 would be a relatively safe bet. It will look better with the increased diameter without sacrificing too much ride comfort. You will probably have to lower the car (especially if you are on non sport suspension) since increase in wheel diameter, decrease in tire aspect ratio and decreased offset (to make the wheels more flush with the wheelwell) will result in the monster truck look.
2009 Interlagos Blue on Black Novillo M3 Coupe DCT, EDC, MDrive
Volk Racing LE37T 19 x 8.5f, 19 x 10.5r, Toyo Proxes T1R 24535R19f, 275 30R19r, OEM CF ZCP Splitters and Rear Spoiler, GC Coilover Conversion 440f, 550r