Yeah, some firms take a huge chunk! I do a small amount of staffing and take a flat amount off the top - and let the consultants know how much it is. After 3 months, I take less (in effect giving the consultants a raise). If I've worked with you before, you start out at the highest rate. I also don't have sales people, managers, VP's or anything else taking a bite of the pie. I work for my money, the same as everyone else.
I've found that the thing that makes consultants the most angry is when they find out how much they are being billed for versus how much they get. It never fails! Of course, there's not much else to be angry about - there are no benefits except those you pay for :)
One suggestion - when the contract runs out and they want to extend you, ask for more. Most implementation contracts are for a shorter duration than the actual project. You won't likely get a huge raise, maybe $10/hr at the most but at least its something!
With your skills, I think you could find work pretty quickly. CRM is hot, and CRM service is very hot!