Второй способ более чем разумен.
Только возможно следует задуматься об использовании миксинов вместо расширения классов, а сетку выбросить совсем (ну тут нужно оценить получаемую выгоду в конкретном проекте).
.class__element {
@include make-sm-column(3);
}
Еще видел такой вариант разметки
<div class="class__element // col-xs-12 col-sm-6 col-md-3"></div>
Вроде визуальной группировки классов по смыслу.