Происходил из дворян Екатеринославской губернии, родился в 1796 г. Образование получил в Институте корпуса путей сообщения и 12 июня 1811 года выпущен прапорщиком в Корпус инженеров путей сообщения.
В Отечественную войну 1812 года он был отправлен в 1-ю западную армию, сосредоточенную в то время в Дрисском лагере и был прикомандирован к отдельному корпусу графа Витгенштейна; принимая деятельное участие в саперных и инженерных работах, участвовал в сражениях при Клястицах, Сбольне, находился в авангарде генерала Властова при преследовании французов к Полоцку и, наконец, участвовал в штурме и взятии этого города. Во время штурма Шабельский под картечными выстрелами неприятелей навел два понтонных моста для наших войск, чем способствовал своевременному их прибытию к месту боя и взятию города. В качестве саперного офицера Шабельский исполнял неоднократно поручения начальника штаба генерала Довре, производя с летучими отрядами рекогносцировки и поиски в пределах неприятельского расположения. Замеченный, как храбрый и распорядительный офицер, Шабельский в течение кампании 1812 г. получил за отличие чины подпоручика и поручика и орден св. Владимира 4-й степени с бантом.
Оставленный в Полоцке для снятия плана местности, на которой происходили сражения, Шабельский догнал главную квартиру под Вильной и тотчас же был назначен в авангард в качестве офицера по квартирмейстерской части, к генералу Шепелеву, с которым, преследуя неприятеля, вступил в пределы Восточной Пруссии и участвовал в сражении при Лабиау, во взятии Кенигсберга, в делах под Браунсбергом, Эльбингом и других; наградой ему был капитанский чин.
В следующем году Шабельский был вытребован в главную квартиру и назначен адъютантом при генерале Довре, по просьбе этого последнего, знавшего Шабельского с самой лучшей стороны и аттестовавшего его, как человека храброго, сведущего, исполнительного и обладающего большими тактическими способностями, каковые признал и король прусский Фридрих Вильгельм, когда в деле под Бауценом 19-летний Шабельский предложил генералу Довре план сражения, основанный на фланговом обходном движении французского отряда; благодаря тому, что Довре долго колебался, весь план Шабельского не мог быть приведён в исполнение, но и осуществленный только в частях он дал положительный результат. Фридрих Вильгельм прислал за это Шабельскому орден «Pour le M?rite» и свое благоволение «за столь похвальные качества военного взгляда». С генералом Довре Шабельский участвовал в сражениях при Люцене, Дрездене, в трудном отступлении наших войск к Теплицу и затем во всех делах под Лейпцигом, закончивших этот период кампании.
За отличие он был награжден орденами св. Анны 3-й (впоследствии переменён на 4-ю) и 2-й степени и переведён в лейб-гвардии Семёновский полк, тем же чином. Со вступлением на территорию Франции Шабельский принимал участие в делах при Жоенвиле, Нанжи, Бар-сюр-Обе, Фершампенуазе, Лабруселе, Труа, Арси-сюр-Обе и во взятии Парижа. По вступлении наших войск в Париж Шабельский был представлен к чину полковника, но отказался от этого представления, считая себя слишком молодым для такого чина; представление было отменено, а Иван Петрович награждён бриллиантовыми знаками к ордену св. Анны 2-й степени и золотым оружием с надписью «За храбрость» (14 февраля 1814 года).
Произведённый в 1817 году в полковники, Шабельский был переведён в Дерптский конно-егерский полк, а в следующем году был отправлен в Варшаву под начальство цесаревича Константина Павловича для прохождения школы верховой езды и для ознакомления со всем тем, что тогда вводилось нового по фронтовой части.
Через три года Иван Петрович получил в командование Нижегородский драгунский полк и с ним принял деятельное участие в Персидской войне 1826—1828 гг., состоя начальником авангарда в отряде графа Паскевича, уже в чине генерал-майора, полученном 22 августа 1826 года. Особенно Шабельский отличился в делах: 13 сентября, когда со своими драгунами главным образом способствовал победе незначительного отряда наших войск над 60 000 персидской армией, в экспедиции за Аракс, в походе к Нахичевани, в осаде Сардар-Абада и во взятии Эривани. Деятельность Шабельского была вознаграждена 27 января 1827 года орденом св. Георгия 4-й степени (№ 4032 по кавалерскому списку Григоровича—Степанова)
Среди прочих наград за эту кампанию Шабельский получил золотую шпагу с бриллиантами и надписью «За храбрость» (1 января 1828 года) и орден св. Владимира 3-й степени. Граф Паскевич высоко ценил неустрашимое мужество, непоколебимое присутствие духа и тактические способности Шабельского.
По окончании войны Шабельский был назначен командиром 1-й бригады 2-й уланской дивизии и принимал участие в военных действиях в Польше в 1830—1831 годов, награждён польским знаком отличия за военное достоинство (Virtuti Militari) 2-й степени. После этой кампании, в 1833 году Шабельский был назначен начальником 6-й лёгкой кавалерийской дивизии, в 1835 году «во внимание к отлично усердной и ревностной службе» награждён орденом св. Анны 1-й степени и 6 декабря того же года «за отличие по службе» был произведён в генерал-лейтенанты.
Затем он командовал 4-й и 2-й кавалерийскими дивизиями, а в 1845 году, назначен командиром 3-го (с 1851 года переименованного во 2-й) резервного кавалерийского корпуса.
За этот период Шабельский удостоился получить большое число Высочайших наград и благоволений и ещё более упрочил за собой репутацию отличного кавалериста и знатока строевого дела. Он любил свое ремесло, основывая его на серьёзных и глубоких занятиях; он изучал все отрасли военного искусства; с целью, особенно в мирное время, доводить вверенные ему войска до возможной степени совершенства.
Во время Венгерской компании 1849 года Шабельский был в заграничном походе, но в сражениях не участвовал. Перед началом кампании он был вызван в Варшаву к императору для личного объяснения о цели движения в Галицию и государь, выразив Шабельскому своё полное доверие, поручил ему защиту Галиции и охранение в ней спокойствия, предоставив ему право действовать вполне самостоятельно и ежедневно посылать донесения непосредственно Его Величеству. Насколько Шабельский понял и выполнил планы государя можно судить по тому, что после возвращения войск и неожиданного их осмотра по Высочайшему повелению, Шабельский получил в высшей степени лестную грамоту и орден св. Александра Невского.
В следующем году Шабельский был произведён в генералы от кавалерии «за отличие по службе», с оставлением в прежней должности. В 1852 году Шабельский снова удостоился милостивого рескрипта с выражением благодарности и лестной оценки его деятельности и с приложением бриллиантовых знаков к ордену св. Александра Невского.
В начале Восточной войны Шабельский находился при осаде Силистрии, а затем командовал всеми войсками, расположенными в княжестве Молдавском и в Подольской губернии, а также и кирасирским корпусом; в ноябре 1854 г. Шабельский был назначен командующим войсками в Одессе и окрестностях, а затем в апреле 1855 г. ему был поручен отряд, находившийся под Евпаторией; цель и назначение этого отряда были существенно важны — ему надлежало держать город в строжайшей блокаде, не позволять неприятелю двигаться вглубь страны, охранять пути нашего сообщения и вообще весь северо-западный берег Крыма и, наконец, препятствовать всякому покушению неприятеля высадиться на этом пространстве и двигаться к Перекопу, Симферополю или Севастополю. Шабельский настолько удачно справился с поставленной ему задачей, что впоследствии сами неприятели (французы) удивлялись бдительности этого, в сущности крайне незначительного в сравнении с охраняемой линией, отряда и быстроте в сборах для отражения неприятельских попыток прорваться через линию наших аванпостов.
В том же году Шабельский был назначен командиром 1-го (впоследствии «Отдельного») резервного корпуса и награждён орденом св. Владимира 1-й степени с мечами при милостивом и лестном рескрипте, а 8 ноября следующего года вследствие расстроенного здоровья вышел в запас с зачислением по армейской кавалерии.
В 1862 г. ему было разрешено носить мундир Нижегородского драгунского полка, а в 1863 г. он получил редкую награду — золотую корону к прусскому «Pour le M?rite», пожалованному ему 50 лет тому назад.
Умер 17 мая 1874 года в Санкт-Петербурге, похоронен на Тихвинском кладбище Александро-Невской лавры.
Среди прочих наград Шабельский имел ордена: