As a management consultant, I have worked extensively (though not exclusively) with non-profits. I can only do it when I really believe in the agency's mission, because the frustrations are many. To name just a few:
Unlike senior business managers, who are empowered and expected to make the strategic and tactical decisions that affect an enterprise, the executive staff of most non-profit organizations typically have to present any significant decision to a board for review and approval (one such decision would be hiring a consultant in the first place). When I bring a recommendation to a commercial firm, they normally discuss it, make a decision, and start implementing it in one afternoon. That process can take months, or even years, with a non-profit.
In a for-profit firm, everyone with an ownership or management stake in the company is working toward the same objective - and if someone starts using the company to benefit his/her personal agenda, the consequences are swift removal, and possibly even legal action. No one person in a medium or large business is too valuable to do without. In a non-profit, only about twenty percent of the board members are truly committed to the agency's mission - the rest are there because board membership is a path to (or the result of) some other personal agenda. Those folks are all busy "playing politics" and working those individual agendas instead of looking out for the best interests of the agency. (And some of those people ARE too valuable, either financially or politically, to remove.)
In most communities, there are a limited number of non-profit jobs (and most agencies are losing paid positions, not adding them). Consequently, non-profit managers (paid directors and senior staff members) tend to be very protective of their jobs and often have tunnel vision. Suggestions or ideas from "outside" are threatening to them, plus they often think they're the only ones who really understand and care about the agency's mission. In contrast, business managers seem more secure in the job roles, and tend to have funnel vision - they don't care where the idea comes from, so long as the can channel into a business benefit. The ultimate achievement for a business manager is to build an organization that can run without him. The ultimate achievement for a no-profit manager is to build one that can't.
So, I work with non-profits from time to time, when I really believe in their mission -- but even then I get so frustrated that I swear to myself I'll never do it again (yet I always change my mind -- eventually). I guess I'm saying I don't have the temperament to build an entire practice around that clientele. If you do, you have my respect!
Now . . . can you make a living at it? In my case, I've always been asked (by board members) to consult with the non-profits I've worked with -- so I've never marketed to them directly. But because of how they make decisions, I'd guess the lead time to win an engagement would be much longer, the duration to complete the engagement would be much longer, and the profit margin over that time would much lower. So I think it would be a more difficult business model to manage, but I don't see why it couldn't be profitable. I will add that as a consultant, I have never had to write off a bad debt from a commercial client (including some in bankruptcy), but I've had two non-profits that never paid (both of which strung me along for quite awhile assuring me they were delighted with my work and would pay when funding came in -- but funding never came in).
Hope this helped. Best wishes.