In my experience, the one thing that by far works best to enable social mobility, and that I think Nordic and some central European countries have done quite well, is free, high quality education - from primary school to university.
Especially as we move further and further to knowledge based economic growth, this is crucial, not just for social mobility, but well being and success of whole countries.
Market forces are great at optimising some things, some not so great. Things that require long term focus - basic research, education, environmental issues - are best handled, and paid for by governments.