I would first suggesting using 2 different structures; 1 for transmitting A to B and one for receiving B to A. It looks like you tried using 1 structure with 2 sets of values, which would cause issues of local data being overwritten by garbage data from the other Arduino.