I don't like the use of a blank scope as you're querying unnecessarily.
I use the following approach instead:
# If no search params, default to empty search
if params[:q] && params[:q].reject { |k, v| v.blank? }.present?
@q = User.search(params[:q])
@users = @q.result
else
@q = User.search
@users = []
end
Then you can still use @q for your search_form_for
in the view but without the querying by default.