First off, patents don't protect "products" per se. They protect inventive concepts, of which a given product is but one embodiment (usually). In any case, a patent can comfortably take 5 years from filing to grant, and if you want to decrease that you're going to have to accept a lower standard of examination. Secondly, most jurisdictions have a mechanism wherein the renewal fees on patents (because you have to keep paying every year to keep it in place) rise quite sharply for the latter half of the term of protection. The effect of this is that the average length of patent terms for the majority of cases is actually quite a bit less than the 20 years maximum possible term, because it becomes uneconomical for the proprietor to keep up the renewal fees when the patent's subject matter has ceased to be profitable for them. Also, 5 years might be plenty for technology products, but consider other fields; pharmaceutical products - for whom the "incentive to invent" justification for patents is perhaps strongest - will still be undergoing the regulatory approval process by the end of 5 years.
The "obvious" test isn't really there because of competitors, it's to stop trivial inventions being patentable. Your solution would remove that barrier, and also ignores the fact that there are many possible reasons why a good, solid patent idea may not yet have been filed. With your system, you could end up with trivial patents being granted due to no-one else wanting to work in that field, or extremely solid patents being refused simply because there were multiple people pouring huge amounts of effort and inventiveness into the same field.
Finally, your final criterion already exists. It's called "sufficiency of disclosure", and in most jurisdictions (patents being national rights and hence requirements varying from place to place), if the ordinary skilled person cannot work the invention described to the full extent of protection sought by the claims, then that is grounds for refusal or revocation of the patent.