Thank you Grumpy_mike for replying and everyone else for reading.
In a matter of fact my ancestral problem on schematics might go a little beyond software issues...

apparently I can't make a meaningful drawing. Still, for the sake of correctness, down below my best result (schematic.jpg).
To make an ugly drawing a little bit clear, the setup is REAL SIMPLE:
FOUR push button with a pull-down resistor on pins 2, 3, 4, 5
FOUR relay board on pins 6, 7, 8, 9 (mistakenly bought 12V, thus driven by four NPN BC337, as described in http://forum.arduino.cc/index.php?topic=253970.15)
ONE MMA7361 accelerometer on pins 10, 11, 12, 13, A0, A1, A2 (as provided on standard examples untouched)
Rather than returning raw data from the accelerometer, Firmata modifications returns me Gforce "clean" data on pins A0, A1 and A2; code taken from G_force example; source attached to previous post.
In appearance **everything works**, data comes nice and clean from pin A0~2 (see firmata_before.jpg), relay board have optoisolators, buttons are "plain buttons" but whenever I press one of them or activate a relay, data from the accelerometers changes significantly.
[UPDATE]: While there are sudden spikes on data readout while pressing any button (pin 2~5) it seems that activating pin 6 and 7 INCREASES the average noise consistently (see firmata_6_7.jpg), but once deactivated makes data returning at the original values. Pin 8 and 9, instead, change NEGATIVELY numbers and they stay so.
Besides going to pick flowers, is anyone having recommendations for a poor and lost guy?

Thank you in advance and greetings from northern Italy!
***
The reason I'm using Firmata is that seems the most viable solution to drive motors from a linux box using Python, but I'm open to recommendations
