Non-coding just refers to not being translated to protein, and we know (as you list, more for the benefit of others) that there are many non-coding functional elements.
Junk DNA is non-conserved DNA (e.g. shows only neutral selection). And if it's not being selected for or against, then it probably doesn't have much effect either way.
What has gained a lot of attention was the massive ENCODE project, which sought to provide a detailed atlas of biochemical function in the human genome. The headline figure from there has been that 80% of the human genome has some function. There's a lot of controversy (understatement hat on) on the basic experimentation done for ENCODE, the structure of the project, the usefulness of the data produced and how they define biological activity.
The debate possibly got a bit out of control - the most sarcastic peer reviewed article I have ever read stirred the pot a bit (for more info: http://www.scilogs.com/next_regeneration/the-encode-controve...). I think most biologists (warning, personal opinion) would still hold that 80% of the genome is not meaningfully biologically functional.