I've met a few adults who have very begrudging relationships with their parents. They were materially provided for and got everything, but believe they never received care and affection. So they are unable to feel care and affection towards parents in old age. Being uncaring isn't always a sign of selfishness. That being said, I think it is virtually impossible to judge relationships and determine who is in the right or wrong.
Children are not bank investments to provide for the future. They are human beings. People should have children because they want to experience parenthood and family, not because they want someone when they are old. They should care for them because they made a choice to have kids, not with the intent of reciprocity in the future. In return children should be grateful towards parents.
Sadly, there are selfish ungrateful children who ignore their parents. But I do see trickiness in making elder care obligatory. You cannot gauge the nature of parenting. Nor can you drop a double whammy on children - support your kids and your parents. People should plan for their own financial future. I did like K's suggestion of parental support laws. But I guess, parental support laws should kick in for emergencies. Support provided should be based on kids income, after accounting for their spouse and kids expenses. Although devising a fair law is tricky.