Your situation is complicated by the fact that he used to manage your team. He is having trouble letting go and seeing that it is no longer his responsibility.
First talk privately to your team and tell them not to get rattled by this guy's criticisms. Remind them that they report to you now and that you are satisfied with their performance and that you will tell them directly and privately if you ever are not. It should help them to know that they don't have to feel fear when this guy criticises them. Tell them that you are going to make sure that upper management gets a better picture of the team than this guys paints.
Next talk to the guy. Tell him that you are happy to hear his input because of his past experience in the team and that some of what he has said is helpful, but that you want to hear it privately and will communicate with the team directly yourself. Tell him that your own management philosophy is that you publicly praise and privately discuss problems. You may need to remind him that getting the work out of the team is no longer his responsibility and that you expect him to respect your management style in handling your own team. Don't worry so much about alienating him. He is misbehaving, he needs to be talked to about it. If he doesn't want to listen then you may need to get the next level involved. It is important not to be passive in these situations. The more he criticizes without being challenged by you, the worse you look and the worse your team looks.
Another way to disarm him a bit is to make sure you publicly praise him and tell upper management when his input has been helpful. If you have publicly praised him and he then complains to management about you asking him to stop putting down your team, he looks petty and you look more professional. Part of the game here is making sure management sees you as an effective leader and that they learn to discount his criticisms as jealousy or a general cranky personality. You also need to make sure management knows that your team is doing better than he is making it out to be, so make sure you tell them about how the work is being done faster and how morale seems improved. To protect your team and their reputation, you need to be tooting their horn. If the only thing management hears is this guy's criticism, you look bad. So you need to be proactive if mentioning successes, mentioning deadlines that were completed early or on time, mention hard problems they solved etc.
After the discussion, every time (and you have to be consistent) that he starts to say something negative in front of your team or about your team, you then immediately ask him to hold that thought for later when you can discuss it privately. You may even need to take him aside right then. You could ask him to shoot you an email on the subject and that you will take it under consideration and then change the subject. If it happens in a management meeting, you can say, "This is something we need to discuss outside this meeting and not waste the others' time right now" and then set up a time to do so. He needs to understand that public criticism of your team is not acceptable and that you will not tolerate it. Your team will notice that you stand up for them and that is actually more important than shutting the guy up.
Where possible do not invite him to meetings that include your team members.