Я бы через scrollTo делал после прихода новых и вставки в данные (но это первая мысль). При том это будет легко только если у вас есть возможноть высоты сообщений определять, если нет, то придется сперва отрисовать, потом только можно скроллиться...
если просто делать через: добавил сообщения - layout - scrollTo, то прям плохо смотрится, скрол очень заметен. Я сделал дикий костыль - добавил "невидимый" скрол. В итоге данные добавляю в невидимый, делаю подскрол и подменяю видимый и невидимый местами