I have tested the below on Mac OS X Yosemite 10.10; I am unaware of the behavior on other OS's and would graciously accept any comments for others experiences.
Diablo II was updated to be mac compatible! You no longer need Wine or Dual-Boot Windows to play this on a mac. You can download the mac version directly from Blizzard's offical website.
That said, there are still some quirks I noticed...
If you are getting flickering, run Diablo II in windowed mode.
You can do this with Command + M while in Diablo II.
If you use an external display
I was getting a weird error when trying to play Diablo II using my TV:
Diablo II was unable to continue because the selected video mode was
unable to initialize
This is a slave / master display error - you get a more detailed message by running Diablo II through the Terminal.
Turns out: if you have your displays mirrored AND your macbook is open (meaning you have two screens running) you get the error above; it seems Diablo II has trouble figuring out how to launch when there are multiple displays present.
Close your MacBook screen, and use your TV as your only display while playing Diablo II; This was by far the best solution because I could full-screen Diablo II and avoid windowed mode.
If you can't live without multiple displays... or you don't care about the size of display
Run Diablo II in windowed mode
How to run Diablo II in windowed mode on a mac
Either use the solution at the top, or if that isn't possible, then, follow these steps:
1) Open Terminal
cd "/Applications/Diablo II/Diablo II.app/Contents/MacOS"
Step 2 assumes you installed in the default location
./Diablo\ II -w
-w specifies the executable to run in windowed mode; there are also other arguments you can run on this executable. Here is a link to more command line arguments for Diablo II
You probably can modify the shortcut to avoid using Terminal to do this... but... I don't remember how... If anyone knows please chime in. As a programmer, I personally prefer using Terminal... but I could see this being annoying for the average user.