Here is our recipe for royal icing. Our modifications to this recipe for better printability are:
1) use about one and three quarter cups of sugar instead of 2-3 cups
2) add about half a tablespoon of some kind of fat (we've used lard, which prints well, but other possibilities include softened butter or coconut oil -- neither of which we've tried)
Also, another important tip -- freshly made icing prints the best. If you store it in the syringe for more than a few hours, it just doesn't print well. And don't store the syringes in the fridge, as the icing will then get too hard to print. Leftover icing should just be discarded (or eaten).
We use aluminum foil for the substrate. After printing, we put the substrate in the refrigerator for 24-48 hours. This will dry out the print and make it so it can be handled. The denser the print is, the longer it will take to dry out, optimized according to the size of the print.