I had this problem in the past (about a year ago, was for SharePoint 2010) the only way that I was able to work around this was to use the InfoPath filler client instead of browser based forms. This probably isn't what you are looking for.
Some of the other suggestions you'll probably get are to use JavaScript to get your form back to the top (or that it just works for some people). This would require coding, which you may or may not be able to do, but would also require forms get installed via central admin instead of just publishing to the list. When I was dealing with this there was no good answer and most people for whatever reason, don't run into the problem, which makes me think there is a setting somewhere that can be changed.
This was a real deal breaker for my list based form and ultimately I bit the bullet and forced the list to open in InfoPath filler (list settings > advanced > open in client application).
I hope you find something, if you do, share it!