Well, you see cross cousin marriages are allowed in rare cases, during the start of human race, this was allowed and we can conclude it is an exception because manu in matsya purana curiously asks Lord matsya that how could lord brahma's sons marry in same gotra, to this the answer was that it was an exception, and when progeny was enough gotra system was placed.
This is also practised in South India in rare-exceptional cases
Baudhayana Dharmasutra, PRASNA I, ADHYÂYA 1, KANDIKÂ 2 declares that
people from South India can marry with the daughter of their maternal
uncle.
We will explain those (peculiar) to the south.
They are, to eat in the company of an uninitiated person, to eat in
the company of one's wife, to eat stale food, to marry the daughter of
a maternal uncle or of a paternal aunt.
But there is one condition that, the above practices can be followed
only in prevailed country.
He who follows (these practices) in any other country than where they
prevail, commits sin.
Well, manu's laws are considered foremost among laws as they are talked in purva mimansa sutras also that they ban marriage among same gotra.
The cross cousin marriage is allowed only as an exception if there is not enough humans to have cross progeny.
Why was this exception allowed for first humans, South Indians etc?
Well my guess is because of low population, according to South Indians agastya was father of Dravidian languages, who was also a Vedic rishi, during those times most of the South India was forest and very thinly populated so it was accepted to have progeny, through cross cousins, rishis to keep the humans going, allowed it, the practice is still followed although the population has grown enough.
As for first humans it was allowed as an exception because of once again low density of humans that time.
but why for subhadra and Arjuna?
Well, Arjuna and subhadra had gandharva vivah, I highly doubt kings cared for gotra-Varna when doing gandharva vivah, these are allowed for them as an exception while most works say that one should have arranged marriage ideally!
Arranged marriages do care about- astrology, Varna, gotra, kundali etc.
Hinduism doesn't ban anything, what leads to good is moral, so while the long cross gotra marriages are considered ideal, the cross cousin marriage is allowed under extreme exceptions due to population density, personal opinions etc.
in-laws, and not brother and sister right.. – GIRI Apr 14 '15 at 19:26