Последний блок можно выровнять с помощью margin: auto;
Пример:
<style>
.container {
margin-left: auto;
margin-right: auto;
width: 100%;
max-width: 600px;
}
.row {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.col {
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
min-height: 250px;
flex: 0 0 30%;
max-width: 30%;
border: 1px solid black;
margin-bottom: 25px;
}
.col:last-of-type {
margin-left: auto;
margin-right: auto;
}
</style>
<div class="container">
<div class="row">
<div class="col">
1
</div>
<div class="col">
2
</div>
<div class="col">
3
</div>
<div class="col">
4
</div>
</div>
</div>
Но это будет работать если из ряда выпал только один блок.