You should use a sever side validation if you want to ensure that a user makes a selection. You can apply the server validations with either the Validation Toolkit or CSS Form Builder. Either one would allow you to add the server side validations. This way you can add in a required type validation for the select list to ensure that the user has made a selection.
You should also be able to add in a default value, if you have some text that says 'please select one' you can set the value for this choice to be the default value you would like to assign. What is the result that you get when you do this?