I came up with an eshell alias that one can use whenever you feel tempted to use a pager like less which doesn't work inside eshell. Since the eshell buffer is already scrollable, the only thing you need to do is move the cursor to the beginning of the command output and then scroll as usual.
alias page "eshell-previous-prompt; eshell-next-prompt"
If you're an evil user, you might also want to switch to normal state.
alias page "eshell-previous-prompt; eshell-next-prompt; evil-normal-state"
Usage:
ls /usr/bin; page
# This is an alternative to `ls /usr/bin | less` .