Know the lag you are facing. Lag is commonly defined to having problems in online gaming but not especially defined what it is. For TLDR type guys I recommend to read at least A & B.
A ) Over long distance there will always be delay with how modern physics work unless something new is found. So even with the speed of light there will be a harsh input delay between the continents on p2p or client side connection. This is what I usually call lagging, it's a high ping aka high latency. It makes your controller inputs work in delay, so that it's much harder to react to the opponent in real time and this results in a very poor defence and horrendous manual goaltending, it makes pass shots etc. much more difficult.
In Kaillera lag is defined by frames.
20ms ping = 1 frame
30ms ping = 2 frame
60ms ping = 3 frame
90ms ping = 4 frame
110ms ping = 5 frame
140ms ping = 6 frame
180ms ping = 7 frame
At least it's something along those lines. Intercontinental connections tend to be between 1-3. At best I get 4 frame games to eastern coast and they are great to play and it's really not much of a problem. Even 5 frame games up to 135 ms ping are still relatively good and responsive. I get 5 frame games up to the area of Buffalo / Toronto / Montreal. When you play overseas games _DO NOT USE ADDED FRAMES_ as it adds to the input delay, only do it if B is the case.
B ) Lag spikes or jumpy screen. Now this is the type of lag that is most commonly caused by a bad network on the other side. Modern networks everywhere should be good and fast enough for games like nhl94 that don't require much speed at all to play it good. You're completely fine with a 10/1 and those should be available everywhere nowadays. But spikes / jumpy screen are a different case. This is most commonly caused by one of the following:
-Someone else using your bandwidth for downloading / streaming
-Using wi-fi instead of cable. Wi-fi can have problems with it's signal to your computer from other electrical devices, yes even outside your house. So having a wi-fi in your room even might not solve the case.
-3G forget about it and also 4G might cause problems.
-Bad connection from your house to the ISP and you should contact them to fix it
-Bad routing between ISP and the servers beyond, contact ISP
-Check for malicious programs on your computer / do a clean install for OS etc.
It takes some problemsolving skills to figure out which one is causing the spiky connection. This is usually commonly figured out by the community who has it or not. Habs for example has been nominated for having a spiky connection quite a few times.
You can also self diagnose it a bit by using ping in command prompt. Just type "ping 184.108.40.206 -t" in command prompt without the " marks. If the ping is stable, something else is causing it. If there are massive jumps by even 30+ ms then your connection is the cause. ONLY USE ADDED FRAMES IF YOU ARE FACING OPPONENT WHO YOU HAVE PROBLEMS WITH JUMPY SCREEN / CONNECTION WITH SPIKES.
And to be honest, I prefer the faster response much more over some FPS lags or occasional spikes.
C) There is the rare case that goes behind the case B with some hardware issues like Raph said. I also had this problem with a desktop computer having i7-2600K against Seths old laptop. They would get somehow off sync and it would be smooth on Seths end but jumpy screen for me. For some vs Seth it would be completely fine and the issue might happen against some other guys, but always the same guys between specific setups, this is very rare though. With an old 8 year old Laptop this would not happen, not vs Seths new laptop or his old. It's a problem I have no fix for, try runnning different OS or setups the only one other than getting a new computer. As a quick fix I used to do ALT-ALT during the game to quickly visit the Gens menu and reset the low FPS back to 60 for a moment to get it back smooth, but this was annoying and distracting during the games. It also could cause a problem to leave it smooth for me but severely handicapping you with a huge delay compared to Seth where the other can skate circles around you and you are a pylon. It kind of like increased the delay visiting the menu to make it more like a server-client connection.
D) Dropping FPS is usually happening between one of or all of these combinations, it should be more rare on the A case where the connections are stable even with high ping. I have some of that against quite a few players here with the old laptop, so that might be hardware related as well. But we have to remember Gens is a very old program and we used to play with it in the early 2000's already so it's made to run with very bad computers for modern standards. Hardware seldomly should be the problem with this. Any Core2Duo for example should be 100% fine with Gens already. Possible solutions:
I've played many games competitively from FPS to more modern NHL games etc. and it is a custom to tweak your configurations in FPS games for example. It's never considered a cheat and those that are, are pre-defined by the community. Games like Quake and Team Fortress 2 use lag compensation and tbh if you don't use it it's almost impossible to play overseas as they are even more hectic than nhl94. In FPS games people even modify the polling rates of USB devices from registry so that they respond over 125hz and give a faster response and it's a custom, not a cheat. It is a possible advantage over the casual gamers but also help to competitive gameplay. If I play FPS games with such setups I would not do registry changes just to revert back to play NHL94. Back to the lag case in lag compensation. What lag compensation intends to do is to reduce the discrepancy in the time of response to offer smoother gameplay. If you want to read more you can find about client side lag compensation from here http://www.gamedonia.com/blog/lag-compensation-techniques-for-multiplayer-games-in-realtime. The problem with this is that it only exists in Gens rerecording that also has a small graphical glitch at times with nhl94. We would have to have programmer to take a look at it and implement lag compensation from rerecording to the current version people are using in Gens or fix the graphical glitch issue in rerecording and make rerecording the default version to play with. The default packages on nhl94online.com should be updated anyways with new kaillera and record plugins etc, why not have rerecording in it as well.
To those who say it is a cheat I say you do now know what it does. There is a chance for using it to create an unadvantageous situation and cause delay on the other end and I know for 99% I have experienced this before figuring this out in the NA games, if creating the delay is done deliberately then it is a malicious act and it could only be countered by using it yourself. At best making this available for everyone could possibly help with the lag type A and make games much more enjoyable on all sides. Lag compensation offers a compensation in frames from 0 to 4 for a faster input response. Embracing all the tools to make games more competitive is a good sign of a community and shutting yourself from it is like being run by the medieval church and trying to keep the people uninformed, as like it's a heresy! After figuring this out in 2017 I am finally able to play to the level I used to play in Finnish leagues aka emulate short distance latency. And can honestly say that if the competitive side of NHL94 does not make an effort to look at this issue or solve it, it will probably make me ditch out NHL94 from my games to play list. It is a game I enjoy playing competitively and I will not go back from this to play NA games where I cannot use B-checks anymore, I had to bear that for 2 years already. My conscience is clean and I've been very open about this and trying to make it available for everyone. There is just very little response or I get the casual gamer response to it.
Gens settings might have effect for online gaming as well. It's an old emulator and it's code might be still derived from the early 2000's in some part. Many old games had codes written that their network emulation somehow was in link with the settings, perhaps it was part of the poor hardware at the time as well, but it existed. We in Finland had a gentlemans code to run games with low sound settings to make things smoother for everyone, at least I was part of it. The problem is that if not everyone uses the same settings, then it's possibly a different kind of response for everyone as the theory is that it effects the opponent as well. Those who want to run everything at highest are at an advantage. Now there is no way to prove this as we can only experience it on our own end. Only in LAN environment or so you could fully test it out and see the difference or perhaps starting several gens on your unit and trying it out connecting between those. Gens in general has a very bulky and heavy feel to it and to me it helps me to lower the sound settings or even graphical renderer to have a smoother experience. You can try RetroArch and just be overwhelmed how smooth that is, even Kega and Snes are much more smooth. But what Gens has in advantage to other tested emulators vs Kega for example is that it's much better for long distance connections somehow. A type of lag in Kega or even SNES becomes unbearable if I recall it right overseas. RetroArch has not been tested. Plus what the other emulators lack are the netplaysave option in the form nhl94online.com supports to really be able to use them without any modifications to site/emulators themselves. Another possible job for programmers.