• Check the MDOP (Max Degree of Parallelism) setting. In the past, I have seen improvement when MDOP is 1 instead of default 0. My understanding was, when parallel threads try to rebuild an index, there would still be fragmentation simply because more people at work, however if there is only 1 thread doing the work, then we would get the optimum results out of ALTER INDEX...REBUILD

    ALTER INDEX <index-name> ON <table-name> REBUILD WITH (MAXDOP = 1)

    The details are explained in detail in the blog post:

    http://www.sqlservergeeks.com/blogs/Parikshit/personal/427/does-parallel-plan-for-rebuild-index-impact-the-fragmentation-of-index