Questions 1 and 4 are duplicate:
Answer of Q1: Inserting RecyclerView items at zero position - always stay scrolled to top
Answer of Q4: How to fix RecyclerView shuffling issue:
overriding these two methods in Adapter will solve the shuffle issue.
@Override
public long getItemId(int position) {
return position; // or item id
}
@Override
public int getItemViewType(int position) {
return position; // or item id
}