I was bored, so I did this:
I don't recommend that you use this. I do not know your design needs; this is to show how you can stack parts to reduce board size and simplify traces. Also, I'm a hobbyist and this probably has design flaws that would be immediately apparent to a seasoned PCB designer that I undoubtedly missed. I am also not 100% certain that there will not be interference between the I2C pull up jumpers and the Arduino.
As you can see though, all but one of the power traces are on the bottom layer and all but a handful of signal traces are on the top layer - no vias! There are no isolated regions on the ground plane. I swapped the GND and 12v signal on the 3-pin header to allow for easier routing and to ensure that the GND pin had more contact with the ground plane. With the GND pin in the middle, as you had it, it had only a single connection between it and the plane. This may not have been necessary, but seemed cleaner.
Now that I think about it, why do you have two separate I2C buses? The I2C bus is addressable. i.e., multiple parts on a single bus. You should only need one and this would greatly simplify the design.
Your mounting holes look like fiducials.
This is how Eagle draws unplated holes.