Как станет невероятно большой и тормознутной, тогда можно легко и просто отделить проблемную сущность. Т.е. решать проблему, когда она появится, а не заранее. Это если появится. А пока можно сделать как в примере, только убрать likes в трейт туда же методы с лайками (запись/удаление и т.д.) чтобы код не дублировать, вместо
$table->unsignedInteger('likeable_id');
$table->string('likeable_type');
написать
$table->morphs('likeable');
И коунт лайков можно в бд писать и инкрементить, чтобы запросов не делало