Here's a radical idea.  Attach funding to the kid and not the school building.  Any child can attend any school licensed in their province and the school gets the funding based on the kids that attend.  If the kid goes to a public school one year the funding goes with them.  Next year they could go to a Catholic school and a private school (with parents making up the difference) the next.  School choice isn't a bad thing.  Except for teacher unions.