If you download subtitle (SRT) files separately from a movie on your hard drive, free web service EndlessSubtitles will help you get them in sync.
If your separate SRT files aren't in sync with your movie, they won't do you much good. Luckily, SRT files are little more than text files with timecodes next to each line in the movie. EndlessSubtitles helps you sync them up quickly and easily, and all you need is a text editor.
Just watch your movie with the subtitles, and find how by how much time they're off. In my test case they came in about 15 seconds too early, so I pasted the contents of the SRT into EndlessSubtitles, chose to add 15 seconds, and pasted their output back into the original SRT file. After that, your subtitles should be closer to where they belong (you may need to do it a few times to get it just right). Then, of course, if you want, you can hard code them into the file yourself. Hit the link to check it out.