Вы пробовали использовать Drive API для управления изменениями? https://developers.google.com/drive/api/v3/manage-changes
Это вернет метаданные об изменениях, после чего вам нужно будет выполнить некоторые вычисления на своей стороне, чтобы узнать, где закончился ваш целевой диапазон.
Альтернативой этому могло бы быть создание именованного диапазона для вашей цели, поэтому, когда кто-то изменяет структуру листа, ваш именованный диапазон будет соответствующим образом обновлен, и вам не нужно использовать изменения, чтобы определить, где закончился диапазон.
Ссылки:
Именованные и защищенные диапазоны