if you have exhausted optimizing via indexes and removed non-SARGABLE sql then I recommend going for the temp tables option:
- temp tables provide repeatable performance, provided they do not put excessive pressure on the tempdb in terms of size increase and performance - you will need to monitor those
- sql hints may stop being effective because of other table/index changes in the future
- remember to clean up temp tables when you are finished.