Is there any simple explanation as to why human bones are more curved than straight and are thicker at ends and thinner in the middle?
The slight curve allows bone to absorb shocks better.
This curve allows the bone to act like a spring and flex a little bit. One issue as bone get older is that they become harder and, therefore, more brittle which leads to the elderly breaking bones for a fall that younger individuals just get a bruise. Young children often get stick or "splitting" breaks where the bone does not break but separates as the bone is still soft.
The ends tend to be thicker as that is where the joints are and there are forces that need to be absorbed.
Of course, if the load applied to the bone is just too much or it is a sharp shock then bones will break, but really the skeleton is nature's design for a suspension system to allow us to do what we need to do walk, run, stand, etc
This set of slides makes good reading, with things like "less ductile", "elastic behaviour" and "strength in compression" worth looking for:
A quick search gave many results but of these two shown the first seems very interesting from an engineer's perspective: