I was thinking of keep all the old 301's in place and simply removing the main domain redirect, and using a different navigation structure for the new site.
Are you confident that it can be done? There would need to be absolutely no overlap whatsoever: not just different pagenames but different directory names throughout the site. (I find it most helpful to act as if everything in the URLpath corresponds to a physical directory structure, regardless of what’s “really” happening behind the scenes.)
That is, you can’t have
example.old/directory/page1 >> example.new/directory/page1
example.old/directory/page2 >> example.new/directory/page2
alongside
example.old/directory/page3 >> no redirect
example.old/directory/page4 >> no redirect
or everyone including Google will get hopelessly confused. When redirecting, always work on the assumption that the redirect will stay in effect forever; even if it’s been years, you can’t put new content in
example.old/directory/page1
and abandon the former redirect.
Come to think of it, I did do this in a small way when I divided my personal site--but only with the /boilerplate/ directory which has always been roboted-out. Old boilerplate stayed on the old site; new boilerplate was created for the new site. It could never have been done with an indexed directory. You could also do it with invisible directories like /includes/ if you rashly used that name on both sites.