Just use the existing structure. A bunch of projects makes things too complicated with these types of approaches to the point of making projects very hard to update or hard to understand by new developers. Also, by using the approaches you've mentioned, developers are hoping that things will magically improve, but still, they end up with a problematic codebase.
My suggestion is to either let a very experienced developer lead this or hire some consultant.