Да динамические языки здесь ни при чем. В случае, когда работа идет с коллекцией элементов, что в jQuery, что просто в JavaScript, мы как бы сразу в голове держим вариант: когда коллекция пуста, тело цикла не выполнится. Но когда точно знаешь, что работаешь с одним элементом, этот вариант вылетает из головы, вспоминается это в последний момент, когда уже больше не знаешь в чем может быть ошибка.
Я несколько раз встречал в кодах коллег вообще не нужные и просто забытые цепочки на jQuery.
Когда писал свой диплом, то постарался хоть как-то избавится от этой проблемы, разделив способы работы с одним элементом и с коллекцией:
$("идентификатор").remove(); // если элемент не существует, будет ошибка.
$.tag("имя_тега").each("remove"); // выполнить метод remove для каждого найденного элемента
А проверять существование элементов не так уж часто и нужно, в большинстве случаев достаточно проверить наличие какого-то корневого элемента, а с дочерними уже можно работать без проверок.