Как вариант:
Отказаться от понятия subcategory. Оставить лишь понятие категории у которого может быть родительская категория (все в одно таблице, если нет родителя, то parent_id = 0, иерархия может быть сколь угодно длинная, обычное дерево получиться)
У товара будет привязка к моделе и категории. Но я бы сделал их не напрямую а через отдельные таблицы. Это чтобы не плодить категории, да и одна и та же запчасть может быть к нескольким моделям
В разборе УРЛ первые два поля производитель модель, последнее SKU. Если полей больше 2 и последнее не SKU значит оно категория. Остальное игнорить