Every time you make a redirect, 301, some of the pagerank is diluted. So following your example, from going from A to C you should redirect both A and B to C, not A -> B -> C as you double the loss.
Redirects are just fine, and in my opinion, they should say for as long as the pages being redirected still get organic traffic (backlinks, search, etc.). The moment you see no more traffic, and the links pointing to that redirected page fixed (point to the new page) you can safely remove the redirection. For as on the amount of redirects, it won't be a problem if you have lots of them, unless you do multiple redirects from A to G going from one page to the other until reaching the final, working version.
If that's not your scenario and A redirects directly to G, then you are fine. Monitor traffic on A and see if at some point you can remove the redirection, otherwise just leave is there (I personally have redirects that have been there for over 3 years as the pages are still getting organic traffic (mainly from links).
Hope that helps! And a happy new year to you too!