You're right: it's not too bad. It is awfully bad.
All the players wanted was a safety net to avoid wasting kobans and getitng nothing in return and, possibly, eliminate the useless and boring grinding that is only a waste of time. How to do it? Easy: a guarantee shards drop. Here is an easy to include example of safety net:
-Story girls drop rate cycle: money, money, money, money and shards (from 1 to X). Safety net of 1200 battles to get all 3 girls;
-Event girls: 5 different girls in the first 5 trolls, for 5 days, with this drop cycle: money, money and shards (from 1 to X). Safety net of 1000 battles to get all 5 girls.
Now, for event girls, this means a maximum of 200 battles to have 1 girl and 200 battles can be done with free attack points, therefore any player will have at least 1 event girl each event (2 on 2 weeks event, of course), which incentivates the player to, at least keep playing, while those who want all the girls will use kobans on them.
Of course, the possibility of 100 shards still remains; I'd say 1% per battle (not incremental). It is a reasonable percentage.
It's a win-win situation.
A couple of OT suggestions while I'm at it: allow to use 20 energy points to gain 1 attack point, so the energy doesn't go wasted when there is no more story, event missions no longer than 6 hours and give 2 XP and affection points to the girls in case of defeat in the arena.