Raising in the blinds is fine in many cases, but shoving might be a huge mistake if the effective stacks are deep enough. In those situations, I'll just trap my opponent by calling in the small blind and then they shove in big blind and I call it off with a premium hand. This works for two reasons:
1) I balance my range in those cases by limping and raising with some premium hands as well as worse holdings.
2) We are deeper stacked when shoving is a mistake from their part. If shorter (say 10bbs or less), then shoving in the blinds for protection is more often than not the "correct" play to make so Villain(s) can't exploit us with re-raising All-In and forcing us to fold or call with zero fold equity.
Against an opponent that is super aggressive, you have to widen your calling, raising ranges, the reason behind this is to stop villain from pushing you around, forcing him to slow down, othervise you will lose too much chips without defensing.
If opponent plays stupidly doesn't mean you have to follow their stupidity. Pick your spots, if you have them vastly out-chipped, if you have a superior hand, and can stand the loss, call occasionally, just to see opponent's reaction if they lose when they are called.
If you play the game to win, the bully call-anything, most of the time you either min call or fold to their bullying. A lot of them don't care about the game, they want a reaction: anger or frustration, often both. You can get them angry and frustrated by only playing the hands where you are a clear favorite and winning.
When you play with such an opponent, then watch his play from the beginning. Try to determine what he raises with. Narrow down your opening range. For example: QQ +, AKs, AKo. And catch the moment.
If you can't wait for the hand, you will see how others will do it.