I have pondered things like this several times in the past. One problem is that, if each player has another role from the start, you cannot possibly balance them. For instance, a role that allows you to trash cards may be immensely useful in some games, and nearly useless in others. The same goes for most other bonuses, be it attacks, gaining, +Actions, +Buys, you name it.
The only way I see to make such a thing work is by making the aquisition of roles part of the game. Have players bid for roles, or award them for certain achievements. Bidding is what I used for my Power Grid submission in the weekly design contest thread. Achievements are what I used in a certain post for the later "base card" challenge of the same thread. Both are variants of Mountain Pass and Tournament, respectively. You could also make roles nonexclusive to keep the first to reach the condition from locking the others out, and well, that behaves very similar to Projects on a conceptual level.
The idea certainly isn't without merit, but I'm going out on a limb here that Shelter-like starting cards will not be a good way to do it, for the sheer impossibility to balance them.