The best outcome for coop game is completing all objectives with nobody dying anywhere in the process. Personal skill and teamwork increase those chances. Change the point reward mechanics to encourage teamwork and discourage solo-suicide rush to objectives that devolves into a run and gun, tunnel vision spray and pray, blow up everything ahead for a race to the end. It's a journey, not the destination, and the journey is made better when cooperating with people. It can be a destination for those that choose to, so somehow keep options open for rushers who like to play that way.
Notes
The points here are to give an idea of what is rewarded in a relative sense. Give all players who complete a checkpoint 100 points. A regular bot kill gives 25 pts.
Sticking together
Staying near a teammate for a period of time constantly gives you, for example, 75 points. Additional teammates in the vicinity gives additional 25 points. Either it gives a fixed number of points or gives a bonus percentage of points applied for a certain period of time that fades if you suddenly decide to go lone wolf or with 1 buddy. Variations of this can be percentage bonus for 3 or more players in the vicinity and loses its effect if you go back to sticking around only 1 player. Give these hints on load screens to let the player know.
Match Summary
Similar to Overwatch, end of game votes on positive tags like "great team player", "battle buddy", "great sniper/overwatch support", "good comms", "good commander/team leader" "good cover fire". These can only be added once on each player by each player for each match, and probably has a drop down list below each player's name and show the array list of tags. Other players who stick around at the end of match sees a player getting a tag but won't know who provided it. Make it like a badge and rank like Overwatch does.
Make it attractive for the players to stick around at the end of the match with chat enabled and see what they did to gain points (the current system sort of does that by showing you the progress gained from "time played" for example), but its current implementation is only visible to you and only shows one after the other so you'd miss it if you somehow looked away for a few seconds (working off of memory here). And again like Overwatch, adding a "stay as team" for next game would be nice.
Tab Screen Changes
Move K/D ratio to somewhere the player can see on their own when the game is over. No need to look at it during a game or flaunt it at the end of the match to your teammates. Currently, we look to see who has the most points for capping objectives and blowing up caches. You are either #1 on the team or you're not, and you were rushing the entire way, racing against your team, annoying your teammates, encouraging the same rushing play style for your team. This change should give more players satisfaction for just being in 2nd, 3rd, 4th because they added to the teamplay experience even if just a little and at least tried to keep each other alive.
These points given for teamplay should show, in a summarized format with good UI here, in the Tab screen for each player based on what they did. This continues the Tab screen's utility since players already have a sense of familiarity with this screen and know the reason for all the nice points they are getting. Hopefully, this encourages a shift from how people are currently encouraged to play by telling them why they got points. Put this in the match summary screen at the end of the game for every player (good UI and sound effects here so we can look at who did the most teamwork). The intended effect is to still find the player with the most points but being the result of a team player, not a "first!" player.
Discourage solo-suicide rush to objective
I can't really think of much without changing a lot of the capture mechanic and pacing of the game to the point where it's much better to just coordinate with your team over the mic to solve it. Something should slow down the player's pacing when getting closer to the point. Although I actually like a checkpoint's corner-camping bots in its current state, it isn't enough. A skilled player or RPG/IEDing through a window before rushing into the cap area can still work. Having another layer would help. We want to make it so even a skilled player will feel cautious for rushing in doing quick "slice pies".
If UE4 can do this: allow the map designer allocate 3 areas where random mines can be placed since those are already in the game. If there are some barbed wire setup (like R6 Seige?--don't know much about that game) that require time to dismantle and thus cause a player to be vulnerable in that moment, it would be interesting and play into the teammate-covering point reward system.
Discourage solo-suicide rush to objective (Part 2: Three Wishful future add-ons)
This is getting into the old-school Rainbow Six/SWAT series' pacing, which slows the game down a lot, and probably not in the vision of the devs since choice in tactical play is something they usually go for (one example is the inclusion of peeking through a partially opened door)--not somewhat forced as I'm about to write, but it would be amazing for those who like to play tactically in private servers. This would be add great variety, randomness, and depth to the gameplay throughout just one match.
1: Alerted cap/cache areas with bots have a chance to use toxic gas grenades on the area, and they'll already have gas masks on. The security team will make the decision to invest in the gas mask. For servers that have unlimited supply points, taking the gas mask will be a no-brainer, but simply having this different scenario and vulnerability putting on the mask changes up the gameplay. Putting it on earlier means their sounds are muffled, putting them at a disadvantage.
2: This applies to the checkpoint camping bots: Certain movement speeds/run, or firing a shot without a suppressor really close to them causes 1 or 2 bots to say "they're here!", and go investigate the perimeter or flank the player.
3: Another thing to slow down the pace (maybe too much?) is have the bots trigger a small explosive at the perimeter/entry point of the cap area when they hear loud player movement. This can only be triggered by a specific-looking bot sort of like the suicide bomber's signature white striped shirt. These events shouldn't be at every single point but randomized maybe 2 out of every 8 capture points (includes cache points). They're also randomly placed in 2 out of 4 entry points to the objective; the frequency is just an example. This means a player can take out the bot with the trigger via stealth should they choose to or communicate to their team that they've taken care of the bot with the trigger. We get awesome replayability through some map randomness.
Big rewards for those that cover teammates
I don't know UE4 so I'm not sure if UE4 can allow these hooks into the game: If bot(s) investigates a player during a flank (which happens often in Insurgency 2) but the bot is then eliminated by another teammate. Give a large 250 pts to the player covering their teammate's back. I often do this with success in Insurgency 2's counter-attacks and find the teamwork productive and rewarding. The reward from points is large because you're often looking in the opposite direction of the action or entry point. In another scenario, if a bot is targeting and firing at player A and player B kills the enemy, then give player B 125 pts, and this would be reflected under the Tab indicator: something like "Savior". To keep the Tab screen simple, maybe only show the most recent points and respective label for each player. Add partial points if player A was originally shooting at the bot; less if player A was only suppressing bot with no hits; and equal split to both players if both hit the bot, known as an assist. These functions encourage players to not all run to the corner and bunch up like rabbits to be the first one to secure the kills which is another occurrence where players are competing against each other, and we want to foster sticking together and covering each other.
Counter-attack frequency
I think there should always be a counter-attack for each obj or default to 80% chance if not already (adjustable by server admin just like in Insurgency 2, and I think the Insurgency 2 default is 75%). You get the most out of the map by defending in each checkpoint location and figuring out with your team the best way to handle each point.
We change how the system rewards player points; discourage those who rush to the objectives to cover out bases for those who don't care or are stuck in the rushing mentality even with these implementations in place by making the checkpoint/cache dangerous for a rusher. They simply die and miss out on the defending aspect of the counter-attack, which itself should also be rewarded in points. Maybe label these bots as counter-attack bots that provide more points than a non-counter-attacking bot. And for snipers who take out/assist/suppress these counter-attack bots, they get more points the farther they are from the kill. Though, I can still see a scenario where players who are familiar with a map will bunch up and launch an RPG or go full-auto in a specific location where the bots will come out from around the corner from their spawn point, but I'll end it here.