Ваш 'прыжок' вызван высотой границы в 1px, которая заставляет вашего li двигаться
Вместо этого вы можете использовать
.navigation li:hover {
border-color: #ccc;
}
.navigation li {
border: 1px solid #<parentBackgroundColor/transparent>;
}
.Таким образом, граница находится здесь с самого начала, поэтому не стоит прыгать при наведении, и она невидима, поскольку она того же цвета, что и родительский контейнер, или прозрачная.