The problem with building an ArduinoBoy using a link cable socket is powering it. If you're using a big fat 'duino board with a shield, that may not be a problem, but if you're building a stand-alone unit, you'll want to do the pin swap mod so you get power supply from the Gameboy. You can't do this with a socket, as a standard cable doesn't carry the power wire.
And even so, link cables are cheap. Buy one and cut it in half. No big deal.
Another thing, why do you insist on mixing top and bottom layers as much as you can? Try to keep everything to the top layer so people who make PCBs at home can make a single-sided board. So far, the design can trivially be made to use only one side.
Why the top and not the bottom side? Because the first thing you need to consider for a single-layer shield design is connecting the pin header. You can't solder the pin header to a single-sided board if it's on the same side as the copper, since the plastic would be in the way.
Most of the components, yes, including both the opto-coupler and all the passive components can be placed on top and soldered on the top. The one thing that can't is the MIDI jacks. These would need to be pointing down and possible moved out as not to collide with the 'duino main board.
For inspiration: http://www.stephenhobley.com/blog/2011/
lipshield/