Is there a systematic way to simplify multiple output boolean functions?
The problem of multi-level logic circuit optimization is much harder. That's why it's not taught in the introductory classes (and, if I may so, that's why some people think Karnaugh maps are all there is to it).

There tomes covering this, typically under the name of Logic Synthesis, but the essence is that there is no single answer; it depends on conflicting goals, what type of circuits you want to use etc. 

You can look at http://web.cecs.pdx.edu/~mperkows/=FSM/finite-sm/node17.html to get an idea of the vast amount of research that went into this field. Citeseerx has a copy of a 1990 survey article by Brayton, Hachel and Sangiovanni-Vincentelli. These guys also wrote textbooks are often used to teach the topic. For some free on-line lecture you could start with https://www.youtube.com/watch?v=vRO_Bgyp9P4