So if figured this out with scoreboard objectives as I had originally tried. It was a little more complex than I thought, but it definitely works. So I made two scoreboard objectives to begin:
/scoreboard objectives add example dummy
/scoreboard objectives add example2 dummy
Afterwards, I made two repeating command blocks (Always Active) that added to the above objectives:
/scoreboard players add @a example2 1
/scoreboard players add @a example 1
Although I asked to be able to do this with 52 selections (Still Possible with this method) I instead gave this (for the example) 3 possible selections for each scoreboard objective, so in the end, you get two things.
You need to make two more repeating command blocks (AA) with the following commands:
/scoreboard players set @a[score_example_min=3] example 0
/scoreboard players set @a[score_example2_min=3] example 0
an image is best to show what happens here:
Now we will fill in each command block with the command shown:
1: Gives the player an apple
/give @a[score_example=1,score_example_min=1] minecraft:apple
2: Gives the player a paper
/give @a[score_example=2,score_example_min=2] minecraft:paper
3: Gives the player a redstone
/give @a[score_example=0,score_example_min=0] minecraft:redstone
A: Gives the player a stone
/give @a[score_example2=1,score_example2_min=1] minecraft:stone
B: Gives the player a piece of Wood
/give @a[score_example2=2,score_example2_min=2] minecraft:log
c: Gives the player a brick item
/give @a[score_example2=3,score_example2_min=3] minecraft:brick
Now place a button behind the redstone behind command block two, and press it :D .
I didn't add the Custom Names because I thought it was to much trouble. And also it isn't completely random but it was the best I could make.