As far as workarounds go:
1) I would not recommend dumping the org.xtuml.* features and plugins into an Oxygen installation. I cannot say what level of functionality you would get. It may kind of work, but the behavior is completely undefined.
2) The problem seems to be localized to CDT and the core platform CDT integration. You could work around by not using CDT in Eclipse Mars. This is not an ideal solution, but you could have one workspace that you run Eclipse Mars (BridgePoint) against. This is where you do your modeling. On the project builders, just run Pre-build and Model Compiler, but _do not_ run the C builder or Scanner Config builder. Then have an Eclipse Oxygen with CDT but no BP. Have another workspace and import the same project. Thus, both projects point to the same files on disk. After you run the BP build chain, you switch over to the Oxygen workspace, refresh the project to pick up changes, and build and edit the C files.