here is a small experiment with final gathering and ICE strands. For ICE strands, I think it's good idea to always use 'Long Hair' diffuse model in Hair Renderer -
not only because long hair is modeled. Even with short hair, info about normals from emitter's surface doesn't exist (at least I think so). Also, Kristinka Hair nodes does not respect old fashion hair shading rule of 'first segment parallel to emitter's normal'.
So, 'Long hair' diffuse model calculates shading normals relative to direction to lights - but in case of final gathering, what normals are used ? I'm still not sure, to be honest. For this experiment, I've used only one light with very low intensity, didn't noticed any influence of this one to FG shading.
Fortunately, we can provide a custom shading normals to Hair Renderer. Custom vector is used as an input for 'normal' in Bump Generator node, as well 'Relative to Input Normal' option with node. 'Bump Factor' is set to zero, as we already can't use bitmap, there is no 2d mapping with hairs, only normals are important here. To get it work, 'Normal Blend' in Hair Renderer need to be at more than zero.
Now, examples. Two at bottom are Eye Ray Vector - normal are looking at camera, or inverse. Second one looks most promising to me, it's custom attribute already created by kH Follow NURBS styling modifier - this is in fact, surface normal of NURBS surface used for styling, sampled for each strand segment of hair guides, then transferred to rendered strands/hairs. This is fast setup, of course it's possible to create a more fancy solution, with complex setups.