I've read on the AD site that by combining two ore more chips and averaging their readings one could improve accuracy because the noise curve is gaussian. I think this would be very challenging though, as it would require a very high precision while assembling the pcbs and other mechanical parts...
When you compensate the error in SW it is not so difficult, just be sure they are in a fixed position with respect to each other.
Then you put them in position 0°, read out the sensors and note their response.
repeat that for a number of angles e.g. every 5 degrees
Now you can average the delta's for the different sensors and correct for these offsets in your sketch.
sensor1: 359.9, 10.0, 19.95, 30.0 ...
sensor2: 0.1, 10.2, 20.15, 30.10 ...
sensor3: 0.2, 10.25, 20.20, 30.20 ...
Assume the angles are exact 0,10,20,30,....
the average error can be calculated e.g.
sensor 1: -0.05
sensor 2: +0.14
sensor 3: +0.21
float angle = (sensor1+0.05 + sensor2 -0.14 + sensor3-0.21) / 3; // optimized (sensor1 + sensor2 + sensor3 - 0.30) / 3;
Got the idea?