Philo is justified if the text is understood (as Philo understands it) as an allegory of what goes on in the internal world of Cain-type and Abel-type principles, not what happened physically between Cain and Abel. The OP refers to the following:
(47)..."Cain rose up against Abel, his brother, and slew Him." For
according to the first imagination, he suggests the idea that Abel has
been killed. But... we ought to read it thus: "Cain rose up and killed
himself," and not the other. (48) And very reasonably may we attribute
this to him. For the soul, which destroys out of itself the virtue
loving and God-loving principle, has died as to the life of virtue, so
that Abel (which appears a most paradoxical assertion) both is dead
and alive. He is dead, indeed, having been slain by the foolish mind,
but he lives according to the happy life which is in God.
A somewhat clearer expression of Philo's idea about Cain "killing himself" is found here:
(78) Every one who is a lover of self, by surname Cain, should learn
that he has destroyed the namesake of Abel... not the
archetypal pattern.... Let any one then say to him, reproving and ridiculing
him, What is this that thou hast done, O wretched man? Does not the
God-loving opinion which you flatter yourself that you have destroyed,
live in the presence of God? But it is of yourself that you have
become the murderer, by destroying from out of its seat the only
quality by which you could live in a blameless manner.
What Philo tries to express is the idea that Cain-type attitudes and actions are futile. Abel-type principles are eternal, and the person who attempts to destroy them harms only himself. Philo does not intend to say that the historical Cain killed himself, only that God's ultimate purpose, expressed in Abel, lived on; and thus the Cain-type principle defeated itself. Philo is thus justified morally and philosophically but obviously not in terms of the literal sense of the text.