I do the same in my game but yours is abnormally smooth for the NES? I run your game in Mesen and its like the fade in/out does 256 shades of colors. I honestly don’t get it. Maybe Mesen is going something here..
You could try to delay each fade transition for a couple of frames. Maybe that will help.