You can use a tangent function to compute the offset in the head's space.
Could you elaborate on this?
What would you be comparing to get the tangent?
EDIT: On Hodgman's suggestion, there's code to calculate the UVs of a point on a sphere based on a normalized direction (i.e: a radius connecting the center of the sphere to the point where you want to find the UVs). It's from the wikipedia article on UV Mapping:
So I could take the vector from [center of eye] to [object being looked at], normalize it and use that as d.
It all depends on how you projected the textures in the first place and flat eyes will always be a rough approximation. if you want real precision, you can rotate 3D spheres instead.