Microeconomics is a science. Macroeconomics is a debate where the participants disagree on most of the important points of the subject. It is a debate that has been going on for centuries. Like any debate, it is cyclical.
In a debate, the participants are sometimes bored and it seems we are not moving anywhere. One person is speaking and the others either do not agree or they think that what is said is not relevant. They don't listen, but they let the person speak. Then there are times when the discussion heats up and it turns to a verbal fight. These periods are often preceded by someone bringing in a new argument, a new perspective, that sounds both interesting and threatening -- threatening from the viewpoint of those who disagree with the person bringing forth the argument. As a consequence, these people attack the argument with all the intellectual force they can gather. If they are smart and work together, they can try to shape the new argument -- using dirty tactics either knowingly or unknowingly (they are humans) -- so that it can be either ridiculed or, at best, included in their "model of the world" as a special case not worthy of too much attention.
J. M. Keynes's General Theory did not establish macroeconomics as a science. He brought a new perspective to the debate. It was an important perspective with a lot of potential, but he did not manage to establish much agreement among economists. Therefore similar debate rages on even today. Call it Keynes vs. Hayek, if you will. Like any scientific theory, Keynes's was supposed to help to solve the problems of his day. It isn't going to help us solve the problems of our day. Keynesianism has helped us to avoid certain mistakes, but there are worrying signs that it has also created significant problems. I don't blame Keynes. There could be more reasons to blame "extreme Keynesians", but finger-pointing doesn't do much good. If not now, then at least in another universe, we could blame "extreme Hayekians".
We will never know what Keynes would think of the situation we find ourselves in now. A guess about what Hyman Minsky would think would already be a much more educated one. Minsky thought that he understood better than other, more influential, economists what Keynes really wanted to say in his General Theory. Minsky's own "instability hypothesis" grew partly out of that.
I believe Minsky would think much the way William White thinks. But that is my Minsky. We all have our Keyneses and Minskys. My Keynes would not agree with many Keynesians today.
Science can be seen as a debate. But we could look at debate as a spectrum, one end of which we name "full agreement" ("I love you, guys! Let's be best friends forever!") and the other end "full disagreement" ("We will meet at dawn. Bring a second and a pistol."). Now, what we call science can never reach full agreement. But to be taken seriously by non-academics -- and this is especially important in the case of economics -- the scientific debate needs to be closer to full agreement than to full disagreement. We need a theory that is based on logical assumptions and which corresponds with reality. If there is a constant disagreement among economists around the main premises, so that wise and intelligent people don't seem to agree on the causality between certain central variables -- e.g. credit growth, GDP growth, money supply, inflation and unemployment -- then I don't see a science. These people may agree, for instance, that money supply and inflation correlate (in "the long term") but still disagree when you ask them about the cause and the effect.
We do not need to agree on a definition for "science". It is the debate that matters. Explain me how the causation works between any two central macroeconomic variables. Make me understand it. Then we speak science.