Select from a dropdown (or autocomplete) or add new item in same create / edit view

I've always run into this conundrum: How to give the user a long list of options and allowing them to populate their own if it doesn't exist.

I usually handle this interface by giving an autocomplete list for a textbox, then if they select one, mark a variable that it's existing (kind of like the "Tags" box on here). If it isn't from the list, then I add new. I've also had radio buttons auto-tick or be user-ticked based on "Add", "Edit", and "Select" options.

I've never really loved the above approach, and I was wondering if there was a cleaner better approach to giving the user an option to use an existing or add a new value.