We do have ways of solving many classes of complex, non-linear functions. There are whole fields of math devoted to this. Pure math is full of non-linearity.
However in the realm of applied math, linear functions rather uniquely have a set of standard algorithms which work on all classes of linear functions, which make them very, very easy to work with. And any non-linear function can be approximated to whatever level of detail you want just by adding more (linear) parameters. You can try solving your non-linear function slightly more exactly... but why bother?
It's like saying "why don't we have other models of computation besides a Turing machine?" to which the answer is: "we do. but every computation can be represented as a Turing machine, so why bother?"