Science is a very muddy word in the English language. When the layperson talks about science in everyday conversation, they are most often referencing the collected products of scientific inquiry (knowing what animal cells look like, the periodic table, the germ theory etc). People who consider themselves scientists, however, are more interested in determining whether or not an area of study makes use of the scientific method when arriving at conclusions.
Any linguist who has been around for the past sixty years or so will profess to you that linguistics is, indeed, a science. But not so fast.
That isn't exactly true. Yes, there are areas in linguistics that use the scientific method, but not all data we've collected is scientific and some sub-disciplines in linguistics use the scientific method less exclusively than others. The reality is that linguistics is better described as a social, or soft, science. Some parts are rather methodically proven and stringent in terms of what sort of data they accept, while others are, well, are more like mushy sciences. Historical linguistics is such a sub-discipline (it uses the comparative method); unsurprisingly, historical linguistics is falling more and more out of favor in American universities. Phonetics, on the other hand, is a good example of a sub-discipline that is rooted in science.
Is this a fault of linguistics, that it is not perfectly scientific? I'd argue that it isn't. Rather, linguistics is a soft science because its subject of study is highly variable and layered; while linguistics may study something more directly observable than what psychology is interested in, they share a similar problem. People just don't lend themselves to absolutes, and neither does their method of communication. Despite all this, we should be keenly aware of what is and isn't scientific when looking at linguistics.