Some thoughts.
First, check out the Communication Matrix. It's a scale you can fill out on pre-linguistic communication skills, so you can get a really good picture of where he's at and what he needs to work on. And if you fill it out again several months later, you can really easily see how he's progressed.
Regarding teaching imitation - one of the best ways to teach him to imitate is to start imitating him. If he babbles something, babble the same thing back. You can also imitate mannerisms, like rocking if he rocks. Try to turn it into an interactive routine.
Another way to teach imitation is to say 'do this' and do a motion, and give him something he likes if he does anything vaguely resembling what you did. Gradually get pickier about it, until he's clearly imitating you. Once he's imitating movements, use the same method to get him to imitate sounds, starting by rewarding any sound, and then only if it shares a consonant with what you said, and so forth.
Also, start looking for other modes of communication (augmentative and alternative communication, AAC for short) like sign language, picture communication, speech generating devices, etc. Teaching a kid to communicate in other ways can often speed up speech development. And if he isn't going to speak, he'll need some other way to communicate. Some good resources about AAC are:
http://niederfamily.blogspot.ca/ - a family who uses AAC with their daughter
http://praacticalaac.org/ - a blog by some speech language pathologists who specialize in AAC
https://www.mycoughdrop.com/ - a website with a very cheap, good quality cloud-based AAC program designed to work on multiple devices
http://www.speakforyourself.org/ - a website about an expensive but high quality AAC iPad app, that also has great advice on how to teach AAC
A lot of people think of AAC as a last resort, but it's actually better if you start it really early. Start by teaching him how to ask for his favourite toys - for example if you get an app on a tablet or something, you can press the button for 'car' or 'ball' before handing it to him. And if he presses any button, react like he said that word, even if you know he did it by accident, because then he'll learn that those words have meaning.