Another point to consider is having service loops, basically enough slack in the wiring that you can make changes later on... such as changing switches or, I wish my plane had this, being able to access the connectors on the center stack without having to remove all the radios and trays...
Somebody correct me if this will lead to RF interference, but I would keep separate the CANbus, the serial and discrete lines, the power and the ground lines, just so it's easy to find things later on.
There are minor upgrades to my panel center stack that I won't even consider because of the hassle of relatively minor rewiring.
And you might consider running stubs, labeled, for things like discrete inputs that you might use in the future.
Lastly, for the Garmin, IIRC there are some preferred serial ports for connecting various components, and those are well-hidden in the installation manual. To improve the odds, copy the serial port usage in the installation manual. And the course on installation sounds well worth while!