Non competition agreements will generally be upheld if they are not inordinately long (one year does not appear to be), geographically reasonable (this would appear to be the case), and have a rational basis (requiring a secretary to not take a secretarial job in the area would make no sense, as they would have generally no knowledge that would be transmitted; the same for a clerk or warehouse person).
Whether your job would potentially cause harm to a competitor may be open to question; it would probably depend on the level of creativity in your job as opposed to routine code work (I assume you are in software work).
That all said, two things strike me as troublesome. Your business, you say, plays follow the leader, and Company B is the leader. Then you say that Company B has lost a key employee to your company.
If this individual is truly a key employee, then a) Company B may not continue to be the leader, but yours may become the leader, at which point you are considering changing from one second rate company to one that will soon potentially become one; b) if yours has actually acquired someone who could put Company A in the position of destroying Company B there is no logical reason to go to work for a company that may be out of business relatively soon; and c) if you are not a key employee, other than your dissatisfaction with Comany A re: their ethical programs, and a shorter commute, what is there to offer to Company B that they don’t already have?
c) above has more to do with the potential legal ramifications of a fight about your non-competition agreement. If Company B knows about the non-competition clause, they are not likely to hire you unless you are a key employee, as they could get drug into the fight too, and have little reason to risk a battle; in addition, should you move over and Comapny A starts legal process, you are apt to find yourself out of work at Company B.
Non competition agreements are a fact of life among employees with trade secret knowledge or critical skill. You should have been aware of this when you hired on.
Even if an attorney tells you that the clause is unenforceable, I doubt you will find one that would say that the company will not try to enforce it, which means that even if you win, you will probably lose. Unless you know of a pattern of behavior on your companie’s part that they have consistently not enforced it against employees similar to yourself, you can only guess as to what they will do.
Approaching them to request a waiver is more likely to reult in your dismissal that a waiver, so that would not seem to be a wise option either.
Net result is that you seem to have three options:
stay where you are.
try to move (either asking for a waiver, or going without one) and take the risk of being unemployed for at least a year.
find a different line of work.
Realize that 2) may hold some additional problems; if you leave without a waiver and get caught up in an employment lawsuit, you may be “snake bit” in that future employment in your field may not be forth coming, whether because you are seen as not loyal or not wise.