WASD works online but you have to really simplify the triggers by making them player specific, and copying the WASD triggers for each player. I know it sounds easy making the movement triggers 'for each player integer i' but it won't work on multiplayer.
There are still a few downsides, triggers are very slow online depending who you're playing with. with 2-4 players you can expect a 0.2 second lag time which is playable with WASD, but with 6-8 players you can expect a 0.4sec lag time on your characters responsiveness.
This lag time also applies to camera free look on mouse button use. You can't use right click to activate free camera move because it moves your hero. You need to bind left click and it won't just 'left click to rotate camera direction' you have to hold down left click until mouse cursor disappears if you're online. The other problem is, can't bind it to middle click either because most players have middle click bound to something else (and don't even know what mouse button is their middle click anymore)
Other thing i've noticed is, some sc2 clients seem to handle the 'set (hero(i)) to last created/triggering unit' differently. I had to put that in 4 different res/teleport triggers to get it to bind a hero to a variable properly for each player. Check out my 4 kingdoms DOTA if you'd like to see how it works on multiplayer.