This was a very fun game. It even got me thinking about the math behind the solutions, but I didn't get too far, I don't know if there is a solution other than brute force (which can be reduced a bit by symmetries).
You could also introduce fixed obstacles (or just more balls), or dynamic obstacles that change state as balls move. I think it's hard to come up with good maps, you may want to write a computational tool that tries to solve the map for you so that you can find maps that have nice solutions. Are you interested in something like that to extend the game further?