The best way is to not use pull requests at all. That's why the Git project doesn't use pull requests for development, instead, each patch series is sent to the mailing list, where it's easy to review each patch, then the original author fixes the issues and sends a re-roll of the series, which receives more reviews and so on. It's not unusual for each patch series to re-roll multiple times.
That's the main reason Linus Torvalds didn't like the whole GitHub approach.
That being said, you can review patches in Github, and request the original author to send another pull-request.
As a last resort, what I do is that I manually add the User A
remote to my local repo, fetch, and fix the commits myself, adding an appropriate comment, or adding new separate commits, and then merge my local branch, not the remote one.