The best thing I do is teach the student the E and A strings cold, so they know both strings very well.
Then I'll teach them the octave shapes on the E, A, D and G strings (2 shapes in total, first one for E and A, second for D and G), so this automatically gives them a method to find one note on the E/A string 2 octaves higher up the neck.
I'll also teach them the pefect 5th intervals on each pair of strings, this then gives them a method to easily go from one note to another without actually knowing the neck of by heart.
I do this because I believe it's much easier to begin by learning 2 strings very well (this also helps with learning your first chords, if you're a beginner) and use 4 shapes at the max to find the other notes, rather than going through the rather long and tedious process of learning each string invididually.
Once they can find any note relatively quickly, then use the Satriani method of setting off a metronome, and attempting to play a note, A for example, on each click of the metronome, if you mess up or miss a beat, start again
Once single notes are down, work on playing your regular major/minor scales in as many octaves as you like across the neck and along strings.
There really are so many things you can do if you get a bit creative.
Also, the whole time you're doing this, try and say the note out aloud (or even just in your head) as this seems to reinforce the memory.
In my opinion also, I don't actually look at the guitar neck and instantly see all the notes, at least when I am playing I work out the notes on the neck for the area of the fretboard which I'm playing in/moving to next, obviously the longer you do this for over time then the more instantaneously you know the notes; that way you're actually finding your way through the dark down the path you actually want to go down, rather than making more work for yourself, rather philosophical I guess!

I ramble..