std::unique_ptr<Foo> fooptr;
//init fooptr
Foo& foo = *fooptr
И используете далее foo. Оверхед при разыменовывании в любом случае при наличии адекватного компилятора платится максимум один раз. Оверхеда за использовании ссылки в данном случае быть не должно.