I think one thing the OP really wants to focus on is the possibilities this could lead to as compared to RAW. Consider this example with the standard array:
Str 15
Dex 13
Con 14
Int 12
Wis 10
Chr 8
The player wants to be a Fighter with a simple Soldier background (remember, race is not really a factor now). Following the OP's options, the Fighter grants +1 Str and +1 Dex, the Soldier background is +1 Str or +1 Con. The player chooses Str +2 and Dex +1 (a combination no race in the PHB gets now).
Now pick a race that doesn't get a Str +2 RAW, say a Tiefling (normally Int +1 and Chr +2). Choosing Str +2 and Dex +1 gives:
Str 17
Dex 14
Con 14
Int 12
Wis 10
Chr 8
The result is a Tiefling Fighter with a higher Strength than RAW would ever allow. Also, his Charisma would be lower than normally possible. Is this a problem? Not as I see it.
If we bring to point the options others have posted about just granting a ASI +2 and ASI +1, letting the player put them wherever, works just as well as they could choose Str +2 and Dex +1.
Whether you go with the OP's proposal, or some of the others, the results are the same-- greater choices for the players. Since I would like to see players make out-of-the-box concepts, and for the simple sake of simplicity, I will probably just grant ASI +2 and ASI +1. If players want it to represent increases due to class and background, so be it. If they want something outside the norm represented by race, that works, too.
The only downside is Humans, what to do with them? The versatility of choice now is one of the things that makes them attractive to play since racial modifiers are fixed. Making all races have such versatility takes that away from Humans (or the Variant, anyway...).