"Lo hago por ti" implies
"I do it for your sake, because of you and for you, altogether".
"Lo hago para ti"
suggests nothing about the true motivation,
which may well lay outside the addressee;
it only designates ti 'you' as the destination of the "doing".
I have found this in:
"Delbecque - Towards a cognitive account of the use of the prepositions por and para in Spanish 1996".
This, I hope, might explain why
"sacrificios por sus hijos"
is prefered to
"sacrificios para sus hijos".
In both cases hijos are the recipients, but the attitude toward the recipients seem to matter.
Google search gives 88,500 hits to "sacrificios por sus hijos"
and 39 to "sacrificios para sus hijos",
suggesting that "para" is a very poor (ungramatical?) choice here.