Вы можете использовать этот трюк:
int firstItemPos = mLayoutManager.findFirstVisibleItemPosition();
View v = mLayoutManager.findViewByPosition(firstItemPos);
int offsetPixel = 0;
if(v != null) offsetPixel = v.getTop();
А затем при восстановлении позиции:
mLayoutManager.scrollToPositionWithOffset(firstItemPos, offsetPixel)
firstItemPos и offsetPixel вы можете сохранить в дополнительном пакете действий.mLayoutManager в моем примере я использую обычный LinearLayoutManager и задаю для него режим просмотра корзины:
mLayoutManager = new LinearLayoutManager(getActivity())