Of course he doesn't, I wouldn't suggest that he does!
I know it takes a huge amount of effort, it takes a huge amount of effort to teach him just about anything and I am willing to make that effort because he's my son and I love him.
I don't smack him all the time, for minor things, only when not doing so would result in him coming to harm. You should know, having taught children with autism before, how long a process teaching them can be - it doesn't happen overnight so what do you do in the meantime? I don't mean that to sound defensive, it's a genuine question?
I know that the vast majority of the time his 'bad behaviour' is just him struggling to handle a situation or struggling to communicate - I know he isn't being naughty on purpose (although not all spectators do).
It is difficult to limit the situations where he can behave badly if you can't predict what is going to 'set him off', or if his reactions are not consistant. What if the situation is unavoidable?
Basically, parenting any child is difficult and most parents try to do their best for their children, trying to make people feel guilty because they don't do what you do is not helpful. I resent your implications that if you 'resort' to smacking then you are lazy, a failure and a bad parent. Attitudes like that are not helpful.
I said I would welcome tips on discipline, if you have experience of teaching SN children, why haven't you actually offered any helpful advice, instead of critisising how I parent my child (and by extension, anyone else who doesn't parent the way you do).