Как сделать так, чтобы балун всегда находился в центре карты?
Если надо обновлять координаты после перемещения, то слушаете событие boundschange:

map.events.add('boundschange', function() {
  map.balloon.setPosition(map.getCenter());
});
Во время перемещения - слушаете actiontickcomplete:

map.events.add('actiontickcomplete', function(e) {
  const { globalPixelCenter, zoom } = e.get('tick');
  map.balloon.setPosition(map.options.get('projection').fromGlobalPixels(globalPixelCenter, zoom));
});
jsfiddle.net/da9ux62p/1
 Двигаем карту Получаем новые координаты центра Двигаем в них балун