Почему Javascript выдает неточные размеры элементов?
Возможно, в момент document.ready не успевают загрузиться какие-то элементы (шрифты), которые влияют на размер контента. Попробуй использовать window.load.
Скорее всего, после вашего кода есть подключение других скриптов, которые изменяют содержимое документа или размеры элементов. Если они тоже обернуты в $(document).ready либо его аналог, то они будут вызываться после вашего кода. Из-за этого и меняются размеры вашего элемента. В принципе даже код счетчиков способен изменить структуру документа (рядом с собой).
Переместите ваш код в конец страницы, либо вызывайте его через setTimeout с нулевым интервалом.