In the current version of ShinobiCharts for Android the only customisation you can do for a the Legend is through its style object. Making the Legend more customisable is a feature on our roadmap and our overall aim is to provide similar functionality between the ourselves and the iOS version - in the iOS version, for example, you are able to give the chart your own subclass of Legend. I am unable to say when this feature will be available, however, we prioritise development based on customer demand and so will certainly take note this request.
The legend should be the same size on both hdpi and mdpi devices - so rather than density being the issue I would have expected you to come into trouble with physically smaller screens. One thing you could do is provide different titles based on the width of the screen: e.g. define some short string constants in res/values/strings.xml for the series' titles such as S1, S2 etc. (or some more appropriate abbreviation!) and then create a res/values-sw600dp folder with a strings.xml file defining the same string constants but with longer names for the series, such as Series 1, Series 2 etc.
Obviously this does depend on your data so many not be applicable but by the same principle you could define different styling options for the legend based on the width of the screen.
I hope that helps,