ну можно сделать чтобы по середине шла только полоска. без кружков. а кружки уже сделать через before у самих элементов. тогда уже можно будет расставлять блоки не равноудаленно, а как по макету.
ну а адаптация - сжимать блоки до какой то поры, а потом перенести их все в одну сторону, чтобы полоска была слева к примеру, а блоки справа. если делать кружки как описал выше - это не сломает структуру.