It's a good idea to memorize scales, along with reasonable fingering...
Anyways, I don't really think I can give you much advice, I'm not a teacher =P... but I'll tell you what works for me.
I used to be horrible with scales because I never took them seriously, and rushed through the difficult keys. For the past 2-3 years I've been trying to change that... I'm still working on it!
I start with a slow tempo and gradually work on speeding up my scales. I'd start off with a comfortable tempo, but then challenge myself to play faster. Accuracy is more important than speed, but speed is still very very important. But I don't think its a good idea to only play a scale fast and with a lot of mistakes that are never corrected- which is what I used to do. Either that or I'd play painstakingly slow and unevenly.
I usually like to start off with 4 octaves of B major, or Gb major, the most comfortable scales for me... I will also play their formula pattern.
And then play through all the keys, just 1-2 octaves.
My teacher assigns me 2 scales every week to work on. For those scales, I'll play it 4 octaves, along with the formula pattern, triads, solid and broken chords, and arpeggios. I also play the scale starting from different notes, staccato and legato, and separated by different intervals, instead of just an octave. It's good practise

After that, I focus on the scales that give me trouble. I keep a list of problem scales/arpeggios/ and chords that I need to regularly review, if not every day, at least every couple of days.
I wish scales were simple... I've been trying to figure out a good way to practise them for a really long time. This is an interesting thread, I'm looking forward to what everyone else says.