Crud. Almost forgot... I know it sounds a little weird but, even though the shrink will make a fragmented train wreck out of the database, consider doing the reindexes before the shrink and then again after the shrink. I have no quantitative proof but it seems that shrink works better when you free up pages by getting rid of the extra space (and you have a LOT because of the FILL FACTOR problem) on pages ironically caused by fragmentation of bad FILL FACTOR application.
--Jeff Moden
Change is inevitable... Change for the better is not.