I had shin splints for years in my early cross country days. Icing and all that helps, but the only way I know of to make them go away for good is to work on strengthening those shin muscles. It sounds a bit daft, but once you build them up, you should be good to go.
You can probably google exercises to strengthen them but things like standing with your toes on the edge of a stair and slowly lifting can work.
Or sit with your legs out straight out in front of you. Have someone pull on the tops of your feet - which will cause your toes to point towards the person - but resist it as hard as you can. Don't let them budge your toes. You should feel this right in the shins.
Last one I remember is to walk around the house on just your heels...keeping the toes off the ground. Should feel it in the shins.
So things like that, combined with icing and softer surfaces for awhile, should get rid of shin splints for good.
Happy running