I hate to say but guys like Schwarber, Russell, Happ, and Bote could have been traded for more earlier than they can be now. I think 2 or 3 of those guys have to go at this point to make room to fill some holes in the everyday lineup. OF and 2B are about the only spots they can create room to bring in impact bats.
C: Contreras, Caratini - fine here, Wilson still is one of the best catchers in the game even with his inconsistency with the bat sometimes. I guess you could try to flip Caratini in a trade too and bring in a veteran backup
1B: Rizzo - he's not going anywhere
2B: Zobrist, Happ, La Stella, Murphy - everyone but Zobrist can go as far as I am concerned. Zo will be 38 next year and best use of him would be super utility guy off the bench at 2B and corner OF
SS: Javy, Russell - set with Javy, I'd be surprised if Russell is back next year with his current off field situation. He's stalled out with his development at the plate too
3B: Bryant, Bote - Bryant had a rough year, let's hope he can get the shoulder healthy and get back to that 30 HR 100 RBI hitter. Bote I would guess will be back as a bench player
OF: Heyward, Almora, Happ, Schwarber - No one is going to take Heyward's contract off the Cubs and I doubt he opts out of $22.5 mil for next season. Almora may have the most trade value of the group but I think you have to keep him to either start every day in CF or as the 4th OF. It's time to entertain trades for Schwarber and Happ. May as well go all in for Harper I think.
Starting Pitching: Lester, Hendricks, Quintana, Darvish, Hamels - pick up Hamels option, for 1 year it's worth the gamble he can be a solid middle of the rotation guy. Barring a trade the other guys are all locked in with contracts so not much wiggle room to improve the rotation. I would not be shocked if the Cubs try to find a way to dump Chatwood even if they have to eat all of his contract to do it. He was not a good signing and is wasting a valuable roster spot. Also remember they have Drew Smyly that rehabbed this year that they will have to find a role for.
Bullpen: Montgomery probably goes back to his long relief 6th starter role, Morrow, Strop, Chisek, Duensing are under contract and Edwards, Rosario, and Mills are under team control. As bad as Duensing was they could just eat his $3.5 mil and release him. I'd like to see Chavez back and sounds like he wants to come back too. Bullpens always are a puzzle, too early to tell what they may do here but getting a closer or high leverage reliever is not out of the question. Could even see Strop and Morrow switch roles too possibly as Strop was an effective closer and always has been talked about as a possible closer in the past.
The window isn't going to be open much longer. Here is the Cubs payroll situation:
https://www.spotrac.com/mlb/contracts/chicago-cubs/ There are some key pieces still under team control for a couple more seasons but in a couple years you have some veterans nearing the end of their careers and guys like Baez, Bryant, and Hendricks due for big contracts that can hit the free agent market and there isn't much in the minors to get too excited about at the moment so the front office has some big decisions this offseason on what direction they go. I don't see how you keep this roster mostly intact and expect better results than the last 2 seasons. The pitching has been better than expected I think but the offense has been terribly inconsistent and underachieving.