I've found a sawsall with a demo blade works good for smaller branches.
No clue beyond a small excavator to pull lots of root balls. I just dig smaller root balls out by hand. Dig around them, cut roots with the sawsall, pull with a come-a-long until it gives up and comes out. Lots of work if you're doing many of them. Sawsall blades are cheap compared to a chainsaw blade that is toast the first rock it hits.
When I take out things like shrubs or aborvitae I don't usually cut them off and then dig out roots, I'll wrap a strap around them a couple feet above the ground for leverage and pull on them with a chain fall hoist or come-a-long until I think it's about to break or the hoist is hard to take up anything else. Then I dig down on the offside and start cutting roots. Cut a couple roots, tighten up the hoist, cut a couple more roots. They come out, eventually.