Playing devil's advocate, the positive of allowing legislation to include unrelated riders is that it promotes compromise. And compromise is how a healthy democracy should operate.
The compromise should be on the content of the bill specific to the subject. It is not a compromise to allow a rider that funnels money to some pet project. That is buying votes.
Oftentimes there can be no compromise on the specific subject. So the bill is either DOA or just immediately passed without any debate.
Allowing several issues to be passed as a singular unit provides opportunity for an agreement to be made about several issues at once. Think of it like a Collective Bargaining Agreement.
You don't need to have a bunch of unrelated riders to compromise. If the bill is healthcare funding, the compromise could be something like who receives the assistance, whether there are any cutoffs, how to implement it, etc.
Or if that's really impossible, you could compromise on separate bills. If people ever break promises, that's a reason not to trust them in the future and it's a lot more clear to the public about who voted which way rather than having a rider which no one really understands where it came from.