Didn't someone like @Not A Bug heavily suggest that Shane retired 'in lieu of being fired'? Seems dumb to virtue flex on people about it when there's dirt they can drop on you in response. But then again, it's Shane, so I'd be confused if anything he did seemed smart.
Option 3: Be an ACTUAL professional and quietly confront him, requesting that he cover the shirt in some way to avoid causing drama at the con, don't throw him out, and never make an announcement drawing attention to it, avoiding making anyone upset, losing any money, or potentially making your con look bad,A paid guest at your convention is wearing a shirt you find offensive.
Respond like a professional, remove him from your convention, and make a statement saying "A guest was wearing a shirt I found unacceptable so he was removed from the convention"
Or Do you:
Ban him from the convention and say: "This guy was wearing an asshole shirt and I threw him out and oh yes, also I almost physically assaulted him."
As an aside, Shane was no more going to swing on someone than Shane was going to fite anyone here IRL back a few weeks ago when he showed up threatening violence. You're not a tough guy, Shane. You're a doughy windbag.