Hello.
Well, there is never one best solution

There are many variables to what you should use and why.
Data transfer speed, amount of data, distance between devices, how many devices would be on the bus and many more.
What would the distance between the two boards be? Look into RS485 or CAN.
I, personally, haven't used CAN yet, but I have made a project with RS485 and some custom messaging protocol. You can also use MODBUS or other protocols.
What I have is a fairly simple system with a Master and (up to 16) Slave devices. The master is always, let's say, 0x1C and the slaves have a 4 bit DIP switch, that the user uses to set their addresses from 0x00 to 0x0F. When the devices turn on, they read their ID and their setting from the EEPROM and start doing their thing.
The master also does the same and then starts sending messages to all the devices on the bus one by one. The slaves are always reading the bus if there are messages being sent and if the message has their ID in the messages ID byte, they read the whole message, do the thing according to the command and then reply to the master.
A basic protocol would consist of:
Start byte | Receiving device address byte | Sender device address byte | Command byte | Your data[some byte lenght] | CRC byte | End byte
If you want to have dynamic length messages, you could also add a byte for the data length, so the receiver knows how much to read next and later calculate the CRC.
I'd say use the EEPROM's the devices already have, and send the config/settings over the bus, saves you I/O, board space and money for a part.
That should get you started I guess.
I'm certain others have some other ideas and experience based opinions on this subject.