You have the right idea, but the execution is severely lacking, because your definitions of $A_1$ to $A_3$ miss any kind of structure that make them understandable and how to continue them. It's clear that powers of $2$ play a role, but for example $16$ is part of $A_3$, but $4$ not of $A_2$.
I agree that having an explicit construction would be nice, but I think putting down the idea and why it works would be enough:
1) You start with $B_0=\emptyset$ and go through the positive integers in increasing order to determine if they go into your set or not, and create intermediate sets $B_n, n\ge 1$ with the property $B_n=B_{n-1}$ (if $n$ doesn't go into your set) or $B_n=B_{n-1} \cup \{n\}$, if $n$ does go into your set. That means
$$B_0 \subseteq B_1 \subseteq B_2 \ldots \subseteq B_n \subseteq B_{n+1} \subseteq \ldots$$
2) Finally define $A=\cup_{n\in \mathbb N}B_n,$ which makes $B_n=A \cap \{1,2,\ldots,n\}, \text{ for } n\ge 1.$
3) Now you need to actually define how you decide if $n \in B_n$ or not. For that, your algorithm needs to be in one of 2 modes, mode 1 and mode 2. With $n=1$ (where your algorithm starts), you are in mode 2.
4) If you are in mode 1 and $|B_{n-1}| \ge \frac12 (n-1)$, then $B_n=B_{n-1}$ and you change to mode 2. If $|B_{n-1}| < \frac12 (n-1)$, then $B_n=B_{n-1} \cup \{n\}$ and you stay in mode 1. As explanation, mode 1 is when you want to add numbers to your set to get to point where $\frac1k|B_k| \ge \frac12$ for some future $k$.
5) If you are in mode 2 and $|B_{n-1}| \le \frac13 (n-1)$ then $B_n=B_{n-1} \cup \{n\}$ and you change to mode 1. If $|B_{n-1}| > \frac13 (n-1)$, then $B_n=B_{n-1}$ and you stay in mode 2. As explanation, mode 2 is when you want to not add numbers to your set to get to point where $\frac1k|B_k| \le \frac13$ for some future $k$.
As I said, you start in mode 2, and for $n=1$ you check that $0=|\emptyset|=|B_0| \le \frac13 0 = \frac13 (n-1)$. So that means $B_1=\{1\}$ and the algorithm continues in mode 1. For $n=2$ we check that $1=|B_1| \ge \frac12\times1$, so $B_2=B_1=\{1\}$ and the algorithm changes to mode 2 again, a.s.o
What you need to prove is that the alogorithm changes back and force between modes 1 and 2, that it doesn't get stuck in either mode for all the rest of the natural numbers.
That however is pretty easy, because if go into mode in mode 1 at step $k$ and stay there, you add all the numbers to the $B_n$ for $n\ge k$, so for $n=2k$ you have $B_{2k} \supseteq \{k+1,k+2,\ldots,2k\}$ and thus $|B_{2k}| \ge k$ and thus you go back to mode 2 for $n=2k+1$. A very similar argument can be made for not staying all the time in mode 2 after a given point.
Now that we established that the algorithm changes between modes 1 and 2 forever, it is clear that the $A$ constructed canot have an existing $\lim_{n\to\infty}\frac1n|A \cap \{1,2\ldots,n\}|$.
That's because $A \cap \{1,2\ldots,n\} = B_n$ and each time we change from mode 1 in the algorithm to mode 2 we have just encountered an $n$ with $\frac1n|B_n| \ge \frac12$, and each time we change from mode 2 to mode 1 we have just encountered an $n$ with $\frac1n|B_n| \le \frac13$.
So in the sequence $\frac1n|A \cap \{1,2\ldots,n\}|$ there are infinitely many values $\ge \frac12$ and infinitely many values $\le \frac13$, so there cannot exist a limit.