As someone who's not on the Spectrum but who's worked with and been friends with quite a number of people with social difficulties over the years, I can (only) offer a perspective from the "other side":
As a colleague / team member, I would find something similar to your first strategy helpful (if you trust me enough to disclose this vulnerability):
- Communicating on days when I am less symptomatic, that I have these
difficulties, go into it briefly, and ask if they see me acting
inappropriately to just say something.
However, be veeery careful to not then act in a way that shifts responsiblity for handling and working around your social behaviour to your colleagues, amounting to "Well, I told you that I'm crap at this so why are you complaining (only now)?"
Ultimately, you (and nobody else) is responsible for your behaviour.
Also, as Myles already noted, calling you out can be highly uncomfortable for others, especially if you are in any way in a higher position than them (and that may simply be because of your age or job experience). They may consider calling you out a career limiting move and just keep their mouth shut.
So if you go for strategy #1, (I would ask you to) make sure to visibly and audibly take responsibility for and work on your behaviour. If you realise you unintentionally offended somebody, an apology goes a long way (even if it is a few days later, better still if sooner).
If you want people to say something, make sure to be seen to accept these comments as gracefully as possible. Obviously, if instead you start arguing why you are right anyway / that nobody should be offended because you didn't mean it that way, this will send a strong signal to everybody watching that you do not really want to be called out.
If you realise that somebody's making an effort to help you handle your behaviour, thank them.
If (to me) your behaviour becomes indistinguishable from jerk behaviour, you are (in my book) for all practical purposes a jerk - Asperger's or no Asperger's. Especially so if you're my superior. So anything you can do to show me that you're not really a jerk, that you're just stressed out or tired, helps.
Edit:
Almost forgot: Please take your self-care seriously! If you're tired and irritated because your upstairs neighbour kept practising the saxophone all night long or because that entitled customer is breathing down your neck, I can sympathise. Much less so if you just forgot to stop working last night, if you just forgot eating your regular meals, if you just forgot taking the weekend off, etc. Don't intentionally or through (self-)neglect put yourself into a situation where you perform poorly on the social stuff (and probably also on all the other stuff).
As a grown-up, you should by now know how much alcohol you can handle, how little sleep you can handle, how much and what food you need when, how much downtime you need to recover, etc. If not, find out asap! ;-)
This may sound ridiculous but if I had a penny for all the completely avoidable arguments I've had for precisely this reason...
If you get in the zone a lot and forget eating/resting, use an electronic calendar to remind yourself (or get a dog that will take you for a walk every few hours ;-)).