One that I have been thinking of is basing the suggestions on existing links - if you go through Wikipedia, almost all pages on which the word 'Einstein' occurs will also have this word as a link (or part of a link). Thus, if "Einstein" or "Albert Einstein" occurs on a page without links, it's likely to be a term that is useful to link. On the other hand, the word "never" will occur unlinked on many pages, so it is not a good word to suggest as a link either. I haven't tried it out, but it does have the advantage of working for redlinks, disambiguation etcetera as well.
That's sounds like a very intensive process. You would need to form a list of all words that appear in your site along with a measure of how often they're linked - that's a long list! And you would need to keep it up-to-date...
Updating it probably isn't too bad, so it's mainly the effort of forming the list in the first place, which on a large site would be a big job.