I have read a few posts on positioning the caret, but none seem to answer my particular issue.
You could insert a tiny span-element at the caret, get its position, and remove it. For a cross-browser range and selection library, see rangy.