Unfortunately, there is a lot of apparent inconsistency in the pronunciation of words based on Greek roots. They are filtered though Latin — except when they aren't. They show the effects of the English Great Vowel Shift — except when they don't. They are rife with spelling pronunciations and miscellaneous analogies. Compound words are even worse in this regard than morphologically simple words.
So I can't figure out a complete, satisfactory answer.
Some relevant general principles of pronunciation:
Trisyllabic laxing. This is a tendency for a single vowel letter to represent a "short" vowel sound when it comes directly before a consonant letter, and is followed by at least two other syllables in the same word, the first of which is unstressed. It doesn't apply to "u", which is regularly long before a single intervocalic consonant letter other than "x". Examples: serēne is pronounced with a "long e" before the /n/; serĕnity is pronounced with a "short e" due to trisyllabic laxing. But there are many exceptions to this rule, such as "obese-obesity".
Alternating stress. Usually, there is a preference in English to put secondary stress on a word two syllables away from the primary stress, resulting in a pattern of alternation between stressed and unstressed syllables. Example: comˈpete, ˌcom-peˈtit-ion. The first syllable is unstressed in the verb, where it comes directly before a stressed syllable, but receives secondary stress in the corresponding noun, where it comes two syllables before the stressed syllable. This rule also has many exceptions.
Leveling/analogy. This is not really a rule. What I mean by this is just the tendency to pronounce related words similarly, even if this causes a violation of another pronunciation rule. Its application is irregular and unpredictable. For example, verbs like illustrate and demonstrate used to be pronounced with primary stress on the second syllable, but they are now generally pronounced with stress on the first syllable. According to the Oxford English Dictionary, it is possible that this stress shift occured at least in part due to the influence of the stress in the related nouns ending in -ation, such as ˌilluˈstration and ˌdemonˈstration (which have secondary stress on the first syllable).
Here is what I have in my specific notes on the pronunciation of Greek combining forms ending in the connective vowel -o-:
Trisyllabic laxing often does not apply. For example, hydrogen, nitrogen, cytosol, xylophone all have long vowels in the stressed antepenultimate syllable.
A number of polysyllabic forms have -ino- that can be pronounced /ˈɪnə(ʊ)/: in addition to the two you list, carcino- and hallucino-, there are fibrino-, pepsino-, peptino-, plasmino-, trypsino- and urobilino-.
According to the OED, fibrinogen can be stressed on either the first or second syllable, but fibrinogenetic can only take secondary stress on the first syllable. There seems to be an alternating stress effect.
The OED only shows second-syllable stress for pepsinogen and plasminogen. These are derived from pepsin and plasmin which have first-syllable stress; this suggests to me that the second-syllable stress is derived rather than inherent to the root. I cannot explain why it is apparently mandatory in these two words. Similarly, we have ˌuroˈbilin but ˌurobiˈlinogen.
Another phenomenon that seems vaguely similar to me is the vacillation between antepenultimate and pre-antepenultimate stress in words like despicable, applicable, (in)explicable which also involves stressed vs. unstressed /ɪ/. Prescriptivists traditionally prefer pre-antepenultimate stress in these words. Even though the "a" of the suffix -able has no stress in modern English (as shown by its reduction to /ə/), the "a" in the French suffix -able is (phonetically) stressed, which I have seen given as the explanation for the pre-antepenultimate stress pattern in English. (The idea is that, starting from something like despiˈcable, the alternating stress rule puts a secondary stress on the first syllable to get ˌdespiˈcable, and then the secondary stress is strengthened to the primary stress and the former primary stress on "a" is lost. I think Walker mentions this hypothesis.)
Also see exquisite, which has variation between antepenultimate and penultimate stress (the earlier stress is again considered more "prescriptively" correct).
My attempt at an actual answer
The pronunciation (ˌ)halluˈcinogen has alternating stress, which as you note is a favored pattern in English prosody, and antepenultimate stress, which is a common default English stress pattern (primary stress can come earlier, but normally only in compound or otherwise morphologically complex words).
I think the pronunciation halˈlucinogen, with stress on the pre-antepenult, may be influenced by the stress pattern of the related words halˈluciˌnate, halˌluciˈnation.
Tchrist pointed out in a comment that the word agglutinogen, which is related to the verb agˈglutiˌnate, shows the same kind of variation according to the OED: "Brit. /əˈɡluːtɪnədʒ(ə)n/, U.S. /əɡluˈtɪnədʒ(ə)n/". (I would guess that the pronunciation variants are not so neatly segregated by geography as this transcription implies, though.)
Actually, I just realized that I know of a separate piece of evidence for the influence of hallucinate/hallucination on the pronunciation of hallucinogen. Like many speakers, I regularly simplify historical /lj/ ("ly") to /l/ before a stressed vowel, but normally not before an unstressed vowel: e.g. it's dropped in solution /səˈluʃn/, but not in solute /ˈsɑljut/ or cellular /ˈsɛljələr/. But I never pronounce a /j/ in hallucinogen, even though I put the stress on the antepenultimate syllable: I say /hæləˈsɪnəgɪn/ and not /hæljəˈsɪnəgɪn/.
The stress pattern carˈcinogen has antepenultimate stress, which as I mentioned is a common "default" stress pattern.
I don't have a great explanation for ˈcarcinogen, except to say that it has word-inital stress (which may also be somewhat favored), and it can be analyzed as having stress on the antepenultimate syllable of the combining form ˈcarcino- (it seems that sometimes, combining forms are stressed as if they are independent words, not just part of a word).
Tchrist pointed out the similar example of ˈteratogen, teˈratogen.
So all of these pronunciations can be explained, to some extent, but explaining why they coexist, or providing a theory that predicts that these particular words would have this kind of variation, is I think too much for me.