In my adult life I've had about 30 different roommates, in three different countries (the result of being in a work study program and then a very mobile field) - friends, total strangers, male, female, working, students, unemployed, single, engaged, married, divorced, separating. And none of those situations were bad - a few got kind of annoying, and some were really good ones where I regretted having to leave. So I definitely don't think that the two options you have are to live on your own, or have to deal with crappy roommates, bad treatment, and broken friendships. Not to mention that in some housing markets, living alone is not an option, particularly for students or starting salaries.
And I do think that the roommate in the OP's case is going over the bounds of what is reasonable, when you combine it all.
Personally, I'd say that if someone has an SO over more than twice a week, it needs to be on the specific agreement of roommates, and the rent and/or utilities need to be adjusted, because they are using space, taking up your hot water, etc. And someone you've been dating for less than a month is *not* in the category of letting them use the apartment when you're not there. You stay with them, or you wake them up in the morning so they can leave with you.
The smoking girlfriend - my understanding is that she doesn't smoke in the apartment, but that the smoke smell clinging to her clothes bothers the OP. If that's the case, then I think that's something the OP has to live with, unless it were discussed in advance - "No smoking in the apartment" is very different from "No smokers in the apartment". It's similar to, say, having a peanut allergy and needing a peanut free apartment. It's not an unreasonable requirement for a serious allergy, but it needs to be discussed before moving in, not declared afterwards, even if it's a serious health issue.
Having random guests over - that depends a lot on frequency, the behaviour of the guests, and the inconvenience to the other roommates. I suspect the OP wouldn't be as annoyed if her roommate's crashers were sleeping in the roommate's room, and leaving quietly in the morning, rather than vomiting in a bucked and passing out in the living room. Having guests over 1/3 of the time on average is well beyond having the occasional person crashing. I would also say that having longer term visitors (more than one night) should be addressed on a case by case basis.
And I have heard horror stories from people who lived alone. Spending more than half their income on rent for a terrible apartment is one, or the unhappiness of working a mainly solitary job and coming home to an empty apartment every night, while living in an unfamiliar and/or foreign environment where they don't have many social contacts.