Are there books, web sites, or language courses designed for English speakers who want to learn Middle English or Elizabethan English in the same way that they would learn a foreign language? It would be fun to be able to understand Shakespeare fluently rather than straining to follow what was being said. Chaucer just seems hopeless without such a course, unless you're a college English major taking your upper-division course on Chaucer.
Actually engaging with the works is the main thing. Shakespeare's easy. Two paths:
Chaucer's a bit harder, but not much. The biggest obstacle is the spelling; you might try Michael Murphy's modern-spelling edition of the Prologue and 12 of the Tales. But I think it's more fun just to jump in and start reading; it's not nearly as alien as you think at first. Baugh's Chaucer's Major Poetry was standard for years, and you can find the 1963 edition second-hand on Amazon for $10 or less.
It's not especially detailed, but this website has a set of lessons for learning chaucerian english.
To my knowledge, there are no courses specifically built around learning Middle or Early Modern English. Fear not, however, for they are less difficult than they seem.
Obviously, I cannot speak for everyone, but I have found that simply reading Chaucer is enough to learn his language. I recommend buying yourself a glossed edition of The Canterbury Tales and working your way through that. I found that, when I first read it, I understood nothing for about the first four hours of reading over two days. When I woke up on the third day, however, I understood almost everything effortlessly. There will always be words that are unfamiliar, but you will become more proficient at deciphering the language. At heart, learning Middle English is less like learning a new language and more like learning a long-sundered English dialect.
As for the grammar itself, some universities have courses on Old English. Taking one of those will give you all the information you need to understand Middle English; if you can decipher Old English with great difficulty, then you can decipher Middle English with relative ease.
Similarly, if you can read Middle English, then the language of Shakespeare will be far easier. His style of writing, however, may still prove difficult. My recommendation is either to buy an annotated edition of his works or to enroll in a Shakespearean course. The professor will, at least I hope, explain everything satisfactorily. Additionally, I have found that, after taking Latin, Shakespeare's constructions make far more sense to me.
There are, of course, online resources for learning the languages, but nothing like a complete course. You mostly need to know what to look for. You will do well to learn the subjunctive mood and the T-V distinction, and to read annotated editions with those things in mind. Less important are chiasmus and grammatical case, but they will still help with comprehension.
I know that this is not really the kind of answer that was wanted, but the unfortunate truth is that there is no comprehensive resource for learning those stages of the language. The best course of action (or at least the 'tried and true' course of action) is to go in prepared as best you may and slog through it until it makes sense.
Best of luck.