I think you problem could be with selectors.
Try using CSS selectors over the XPath, from my life experience XPath doesnt work as well ass CSS.
Also i'm always using JS and never had any problems.
try that
WebElement x = driver.findElement(by);
((JavascriptExecutor) driver).executeScript(
"arguments[0].scrollIntoView();", x);