Ok, here's the list:
Generation 1: Japanese and Korean promotions (past, can't recieve now).
You had to do the event when it was active.
Generation 1: Friend Safari (always accessible)
Get a grass / fire / water FS and it MIGHT have gen 1 starter.
Generation 2: Pokébank distribution (accessible now)
Recieve by the Pokemon global link.
Generation 3: Japanese promotion (torchic also got the Blazikenite event hidden ability) (both have past, can't recieve now)
You had to do the event when it was active.
Generation 4: Walmart promotion (past, can't recieve now)
You had to do the event when it was active.
Generation 5: Code events (accessible now)
The codes can be found on the home page of this site.
Generation 6: Friend Safari (always accessible)
Get a grass / fire / water FS and it MIGHT have gen 6 starter.
As far as you not getting the johto and unova HA starters,
Johto: Your previous gift from Pokébank has not been received yet.
Unova: You entered the code incorrectly, don't have room in event album.
There could be other ways for you not getting the events, but that's still a reason you didn't. Also, Japan gets all the good stuff. Hope I helped!
Source: Knowledge, Bulbapedia