There are 2 ways to balance something that spins. Either dynamically or static.
My soon to be ex father in law has a dynamic crank balancer in his engine shop, and it just spins it, detects where its out of balance and then tells you where to remove matierial, or drill a hole and fill it with lead to add weight.
They will put the crank between centers, and instead of your pistons and connecting rods, they will hang what is called "bob weights" to simulate your pistons and connecting rods. The weight used will be the lightest piston in your engine.
Then after that is done they will match the rest of the pistons to the lightest pistons weight. Usually to less than .5g.
I'm a huge believer in not only having a crank balanced along the axis, but also around the axis of rotation...although I've never been able to afford it.
I was quoted the "thanks for marrying our daughter and taking her off of our hands" price, and it was about $400.00 or so.