Based on my own experience, I would go with
@inglewoodpete's approach.
One of my first projects, was to port a Raspberry Pi project to Picaxe. The Pi used several python scripts running simultaneously, so I thought I'd use a pair of cooperating 20X2's communicating via I²C. The amount of handshaking I ended-up with was ludicrous - it took me longer to port the project, than it had to originally implement it!. One of the things I discovered, is that quite often the 20X2 is not 'readable' via I²C - presumably some of the 'blocking' instructions interfere?
The next time I needed to do something like this, I put one device in charge and communicated between the two of them using serial comms. The 20X2's background serial is quite good for this, but if one of the device's is a Pi, then best to let its O/S do the buffering.