Transform unstructured flow charts into structured ones
Yes.  This has been studied in the research literature under the name "goto removal" or "goto elimination": it is the problem of taking a program with gotos, and removing the gotos.

This became of interest after structured programming became more popular; one simplistic interpretation of structured programming was that you shouldn't use gotos.  See also the structured program theorem.

If you search for "goto elimination" on Google Scholar, you will find a number of papers that discuss this topic, and from there you should be able to find many more.