I would generally concur that you have a lot of short-stay destinations. However, my suggestion is a little different from those you've already gotten.
Budapest - 3 nights
Ljubljana - 2 nights
Plitvice - 1 night
Split - 2 nights
Dubrovnik - 3 nights (day trip to Kotor if that interests you)
Mostar - 1 night
Sarajevo - 3 nights
Istanbul - 3 nights
I've only cut out one overnight destination, but with 19 nights (and assuming you already have your flights booked and can't change them), I think this is the best option without cutting out another destination entirely.
It's true Dubrovnik can get very crowded, especially on days when there is a cruise ship in port, but with 3 nights there you'll have several options to get away. In addition to Kotor, you can also visit Cavtat and Lokrum Island. And in the evening when the cruise ships depart, Dubrovnik is quieter and very pleasant.