laimas, 
whitenickkirov, а почему нельзя только один раз спросить время у ВК, и записать его в константу и уже работать с ним? (Далее, чтобы узнать время по серверу от ВК, вам нужно от текущего локального времени отнять локальное время, когда был получен ответ и прибавить время сервера (локальное время можно получить через Date.now() или performance.now())
Вот, например, так... В объекте 
tasks можно указать все задачи, которые нужно выполнить в определённое время.
var script = document.createElement("script");
script.src = "https://api.vk.com/method/utils.getServerTime?&access_token=bca63fbbbca63fbbbca63fbbfbbccafe57bbca6bca63fbbe1d2a790c16613abe7a292dc&v=5.52&callback=main";
document.head.appendChild(script);
function main({ response: time }) {
	const startClientTime = performance.now() / 1e3;
	const startServerTime = time;
	(function loop() {
		const serverTime = performance.now() / 1e3 - startClientTime + startServerTime;
		for (const [time, task] of Object.entries(tasks)) {
			if (Number(time) >= startServerTime && serverTime >= Number(time)) {
				delete tasks[time];
				try {
					task(serverTime);
				} catch (error) {
					console.error(error);
				}
			}
		}
		setTimeout(loop, 50);
	})();
}
var tasks = {
	[1579598059 + 0.530]: async currentServerTime => {
		document.querySelector(`
			#content > div > div.im-page.js-im-page.im-page_classic.im-page_history-show
			> div.im-page--history.page_block._im_page_history > div.im-page-history-w
			> div.im-page--chat-input._im_chat_input_w
			> div.im-chat-input.clear_fix.im-chat-input_classic._im_chat_input_parent
			> div.im-chat-input--textarea.fl_l._im_text_input._emoji_field_wrap
			> div.im-chat-input--txt-wrap._im_text_wrap > button
		`).click();
	},
	
	[1579598065]: async currentServerTime => {
		// В этом объекте можно описать однy или несколько задач,
		// которые выполняются один раз по достижении указанного времени
	},
};