I think that it's time that be abandoned the idea of bank holidays altogether.
Of course I'm not suggesting that anyone should get less holiday each year; I'm simply putting forward the idea that having fixed dates for holidays (other than possibly around the Christmas period) no longer makes much sense.
For example, we have two public holidays in May. However (now that we've got 7 day shopping plus, of course, transport services running on those days and emergency services functioning as well) many people still have to work, so the concept of fixed public holidays is already largely meaningless to them. Further, many people find that they're forced to take two days off in May when they might, for example, have preferred to have had two days off in August.
If we got rid of 5 of the current public holidays, but still gave everyone the same amount of holiday each year, that would mean that people would be able to go away for an extra week at a time of their choosing (subject, of course, to their employer's approval), rather than have 5 rather useless days dotted around during the year.
However, if we're going to keep what we've got (and add to them) then St George's Day probably isn't a good idea, simply because it's so close to the two holidays in May.
Trafalgar Day might make more sense (particularly as it might fit in with some schools' half-term holidays) but I'd be prepared to bet that over 90% of the population don't know when it is (I admit to googling it!) and probably over 50% have never even heard of it.
I'd be happy to support a Diwali holiday (assuming, of course, that I can't win my argument to get rid of public holidays anyway), if only because Diwali is such a fun festival.
The problem with a holiday for Eid al-Fitr is that the date varies so much. This year, for example, it would mean an extra public holiday in July but in 3 years time it would be in June and in 2020 on exactly the same day as the second May Bank Holiday, before getting closer year-by-year to Easter and then to Christmas.