Hi Anon
What your grammar book says is a good guideline. Standard usage is to use the bare infinitive after "had better" and also after "should":
- had better do
- should do
What you say you're hearing native speakers use could reflect one or more of the following:
1. You are misunderstanding what is being said.
2. You have heard the words correctly, but the native speaker is using slang or a local dialect.
3. You are not parsing the sentence correctly. In other words, you are not grouping the words in the sentence correctly, and/or you are misinterpetting the meaning of the word "better".
Here are some examples of what I mean in #3.
3a. Hansen
should better his world record and win a second gold metal.
In sentence (3a), the word "better" is a bare infinitive. The verb "to better" means surpass, exceed, improve. The word "should" indicates that the speaker thinks an improvement is very likely. Sentence (3a) means this:
-
It is my expectation that Hansen will be able to improve his world record and win a second gold metal.
3b. We hope to return in better days,
should better days ever come.
In sentence (3b), the word "better" is an adjective modifying the noun "days". "Better days" basically means "an improved or more favorable situation". The word "should" is used instead of "if". Sentence (3b) can be reworded this way:
-
If better days ever come, we hope to return. 3c. Congress
should better address immigration issues.
In sentence (3c), the word "better" is an adverb and it modifies the verb "address". The word "better" means "in a better way" or "in a more effective way". You can reword the sentence this way:
-
Congress should address immigration issues more effectively.