<ul>
<li class="main"><a href="#">Заголовок 1</a></li>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
<li class="main"><a href="#">Заголовок 2</a></li>
<li><a href="#">Ссылка 5</a></li>
<li><a href="#">Ссылка 6</a></li>
<li class="main"><a href="#">Заголовок 3</a></li>
<li><a href="#">Ссылка 7</a></li>
<li><a href="#">Ссылка 8</a></li>
<li><a href="#">Ссылка 9</a></li>
<li><a href="#">Ссылка 10</a></li>
<li><a href="#">Ссылка 11</a></li>
</ul>
<ul>
<li class="main"><a href="#">Заголовок 1</a></li>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
</ul>
<ul>
<li class="main"><a href="#">Заголовок 2</a></li>
<li><a href="#">Ссылка 5</a></li>
<li><a href="#">Ссылка 6</a></li>
</ul>
<ul>
<li class="main"><a href="#">Заголовок 3</a></li>
<li><a href="#">Ссылка 7</a></li>
<li><a href="#">Ссылка 8</a></li>
<li><a href="#">Ссылка 9</a></li>
<li><a href="#">Ссылка 10</a></li>
<li><a href="#">Ссылка 11</a></li>
</ul>
const ul = document.querySelector('ul');
const parent = ul.parentElement;
let e = null;
[...ul.children].forEach((li, i, arr) => {
if (li.classList.contains('main')) {
e && parent.appendChild(e);
e = document.createElement('ul');
} else if (i === arr.length - 1) {
parent.appendChild(e);
}
e.appendChild(li);
});
ul.remove();
<ul>
<li class="main"><a href="#">Заголовок
<ul>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
</ul>
</li>
</ul>
<ul>
<li class="main"><a href="#">Заголовок
<ul>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
</ul>
</li>
</ul>
<ul>
<li class="main"><a href="#">Заголовок
<ul>
<li><a href="#">Ссылка 1</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 3</a></li>
<li><a href="#">Ссылка 4</a></li>
</ul>
</li>
</ul>