I don’t know entirely what Factions is in MC terms, and neither do I know clearly what is at the core of your idea, so I’m going to make suggestions based solely on my interpretation of your general specification, into making this work clearly and easily.
To make this simpler and more straightforward, the whole “pvp on/off based on certain conditions and limitations on when things can be spawned” makes it a lot harder for people to get on with what they need to do and puts road blocks in progression. My suggestion in this area is that pvp is on for the entire time; why is it that you suggest pvp be turned off at all?
Further, there should be clear defined milestones in progression towards finishing all bosses, such as when a certain boss is killed, like Wall of Flesh. This can be a milestone, but also as a mechanic in Factions. Score can be done by whichever team did the most damage to the boss (and the boss was killed) gets the point, then after this milestone is achieved both teams are balanced by giving out appropriate gear or items, and they work to score the point for the next milestone, where the same things happens. Then, once the game progression is completed, whoever scored the most wins.
Moreover, based on the above, you can easily start/stop at any two milestones lengthening or shortening the amount of playtime required. It also stays true to a playthrough of the game while ensuring that teams are closely tied in gear after each milestone.
Furthermore, the idea presented in my post would work best when automated, as the transition between milestones can be seamless and scoring can be automatic. In the case of manual setup, it would have to be which team killed the boss, rather than which team did the most damage and transitioning between milestones would require breaks to get everyone set up
Also, on the note of automated execution coming from my services, this is not something that I am looking to do. However, if you had enough money to donate to DG that would cover a plugin, I could make it. Further, the same goes for any hosting; any specifics can be discussed if such is the case.