While I don't think his problem is his damage specifically, he only has a stun and... his super risky ult, his W and E are to get to lane quicker or to give long term heals. He lacks presence.
He lacks ganking tools to give him a reason to roam, right now he doesn't have any super huge choices like "Should I roam now? I can take advantage of this opportunity where the laner is low, time to gank!", it's "Enemy's dead, now I can roam around the map and drop a heal for mid lane then come back".
Past laning phase, he has choices, like when to use his portals, or when to ult, but before then, it's a matter of occasionally getting the ADC a kill then giving heals to mid lane and jungle without much thought into what risks he should take.
I think there should be a reason for him to leave the ADC in 2v1 bot lane, this might sound extremely dumb at first, but Bard should have some sort of opportunity based power (e.g. enemy mid laner is pushed in, but bot lane isn't respawning) where he has to choose between the ADC definitely not dying, or the mid laner definitely getting a kill. It doesn't even have to be damage, just amp up the situational CC from Q or passives and give him ganking potential. In fact, I think there should be times when Bard has to leave his ADC in 2v1 to gank top lane
Bard just feels like a low risk, low threat that pops up wherever his extremely static priorities let him (ADC, Mid, Jungle). If Riot wants Bard to do well as a roaming support and not a "I give mid lane some health occasionally" champ, they have to practically turn him into a jungler with extremely long term babysitting potential. Make his heal disabled for a long period of time before giving a huge amount of health, enough to let the ADC barely scrape out of a 2v1 situation, and letting his passive stun or root (like TF) when attacking while under the speed buff of more than one chime (which consumes the buff)